

`define DEVICE_ECP3

`timescale 1ns/100ps

module Bicubic2D (
               clk,
               rstn,
               frmsync_in,
               dvalid_in,
               din,
               ready,
               pwrite,
               paddr,
               pwdat,
               prdat,
               dout_enable,
               fwidth_out,
               fheight_out,
               frmsync_out,
               dvalid_out,
               dout
        );

   input             clk;
   input             rstn;
   input             frmsync_in;
   input             dvalid_in;
   input  [24-1:0]   din;
   output            ready;
   input             pwrite;
   input  [5-1:0]   paddr;
   input  [32-1:0]   pwdat;
   output [32-1:0]   prdat;
   input             dout_enable;
   output [11-1:0]   fwidth_out;
   output [11-1:0]   fheight_out;
   output            frmsync_out;
   output            dvalid_out;
   output [24-1:0]   dout;

scaler_core_Bicubic2D #(
               .SCALER_NAME   ("Bicubic2D"   ),
               .NUM_PLANE     (3     ),
               .VINWIDTH      (1920      ),
               .VINHEIGHT     (1080     ),
               .VOUTWIDTH     (1920     ),
               .VOUTHEIGHT    (1080    ),
               .KERNEL        ("BICUBIC"        ),
               .VFTAPS        (4        ),
               .HFTAPS        (4        ),
               .VFPHASES      (64      ),
               .HFPHASES      (64      ),
               .EDGEMODE      ("COPY"      ),
               .EDGEVALUE     (0     ),
               .VSFACTOR      (2048      ),
               .HSFACTOR      (2048      ),
               .VFCWIDTH      (22      ),
               .VFCBPWIDTH    (11    ),
               .HFCWIDTH      (22      ),
               .HFCBPWIDTH    (11    ),
               .PARALLEL      ("TRUE"      ),
               .YCBCR422      ("FALSE"      ),
               .DYNAMIC       ("TRUE"       ),
               .SEPPCLK       ("FALSE"       ),
               .DWIDTH        (8        ),
               .CWIDTH        (12        ),
               .MOUTWIDTH     (9     ),
               .DOUTWIDTH     (8     ),
               .DTYPE         ("UNSIGNED"         ),
               .CTYPE         ("SIGNED"         ),
               .OTYPE         ("UNSIGNED"         ),
               .DIN_POINTS    (0    ),
               .COEFF_POINTS  (11  ),
               .DOUT_POINTS   (0   ),
               .MSB_METHOD    ("SATURATION"    ),
               .LSB_METHOD    ("NORMAL"    ),
               .LBUFFER       ("EBR"       ),
               .VCBUFFER      ("PFU"      ),
               .HCBUFFER      ("PFU"      ),
               .SHARE_CMEM    ("FALSE"    ),
               .PADDRWIDTH    (5    ),
               .PBUSWIDTH     (32     ),
               .FAMILY        ("ECP3"        ))
u1_core (
               .clk(clk),
               .rstn(rstn),
               .ce(1'b1),
               .sr(1'b0),
               .dvalid_in(dvalid_in),
               .frmsync_in(frmsync_in),
               .din(din),
               .ready(ready),
               .pclk(clk),
               .pwrite(pwrite),
               .paddr(paddr),
               .pwdat(pwdat),
               .prdat(prdat),
               .fwidth_out(fwidth_out),
               .fheight_out(fheight_out),
               .dout_enable(dout_enable),
               .frmsync_out(frmsync_out),
               .dvalid_out(dvalid_out),
               .dout(dout)
    );

endmodule
// obf_with_line.v generated by Lattice IP Model Creator version 1
// created on Fri Oct 14 16:19:32 CST 2011
// Copyright(c) 2007 Lattice Semiconductor Corporation. All rights reserved
// obfuscator_exe version 1.mar0807
// top
module rgfe125_Bicubic2D(
              
              clk,
              rstn,
              ce,
              sr,
              uk2b3c3,
              yk59e18,
              xwcf0c0,
              din,
              
              dvalid_out,
              cb180c5,
              hoc062d,
              dout
              );
parameter DWIDTH           = 12;
parameter psc5abc    = "SATURATION";
parameter xl2d5e3    = "TRUNCATION";
parameter cz6af1f         = "UNSIGNED";
parameter ps578fd        = "UNSIGNED";
parameter cobc7eb        = 0;
parameter vve3f58          = 0;
parameter gq1fac7       = 0;
parameter DOUTWIDTH        = 32;
parameter lqeb1cc        = 5;
parameter fa58e62         = 1;
localparam dzc7312 = ((DWIDTH==DOUTWIDTH && gq1fac7==(cobc7eb+vve3f58)) && !(cz6af1f=="SIGNED" && ps578fd=="UNSIGNED")) ? 0 : 1;
localparam mr60a5f = (gq1fac7 < cobc7eb+vve3f58) ? cobc7eb+vve3f58-gq1fac7 : 0;
localparam ec59f0  = 24;
localparam mt2cf81 = (cz6af1f == "UNSIGNED") ? DWIDTH-mr60a5f : DWIDTH-mr60a5f+1;
localparam nr6123e = (mt2cf81+ec59f0-1)/ec59f0;
localparam aa3ef9a = (mr60a5f == 0 || xl2d5e3 == "TRUNCATION") ? 1 : 0;
localparam fnf3425 = ((psc5abc == "WRAP_AROUND") && !(cz6af1f == "SINGED" && ps578fd == "UNSIGNED")) ? 1 : 0;
localparam ba25f17 = (dzc7312==0) ? 0 :                    (aa3ef9a==1 && fnf3425==1) ? 0 :                    (aa3ef9a==1 && fnf3425==0) ? 1 :                    (aa3ef9a==0 && fnf3425==1) ? nr6123e+1 : nr6123e+2;
localparam ui67950 = (fa58e62 == 0) ? ba25f17 : ba25f17+1;
input                       clk;
input                       rstn;
input                       ce;
input                       sr;
input[DWIDTH-1:0]           din;
output[DOUTWIDTH-1:0]       dout;
input                       uk2b3c3;
input                       yk59e18;
input[lqeb1cc-1:0]        xwcf0c0;
output                      dvalid_out;
output                      cb180c5;
output[lqeb1cc-1:0]       hoc062d;
reg[ui67950-1:0]             mtbe7aa;
reg[ui67950-1:0]             jr9eaae;
reg[lqeb1cc-1:0]          dbaabb8[0:ui67950-1];
genvar cbaee3e;
reg os771f5;
reg lsb8fa9;
reg thc7d4b;
reg wy3ea5e;
reg [lqeb1cc - 1 : 0] swa9780;
reg [DWIDTH - 1 : 0] of5e00c;
reg [ui67950 - 1 : 0] ep80320;
reg [ui67950 - 1 : 0] lfc823;
reg [2047:0] vv6411f;
wire [7:0] hq208ff;
localparam vk47fa = 8,oh23fd2 = 32'hfdfff40b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
always @(posedge clk or negedge rstn)
begin   if (rstn == 1'b0) begin      mtbe7aa <= {ui67950{1'b0}};      jr9eaae <= {ui67950{1'b0}};   end else if (os771f5 == 1'b1) begin      if (lsb8fa9 == 1'b1) begin         mtbe7aa <= {ui67950{1'b0}};         jr9eaae <= {ui67950{1'b0}};      end else begin         mtbe7aa <= {ep80320[ui67950-1:0],thc7d4b};         jr9eaae <= {lfc823[ui67950-1:0],wy3ea5e};      end   end
end
generate
for (cbaee3e=0;cbaee3e<ui67950;cbaee3e=cbaee3e+1) begin:jp7bd42   always @(posedge clk or negedge rstn)   begin      if (rstn == 1'b0) begin         dbaabb8[cbaee3e] <= {lqeb1cc{1'b0}};      end else if (os771f5 == 1'b1) begin         if (lsb8fa9 == 1'b1) begin            dbaabb8[cbaee3e] <= {lqeb1cc{1'b0}};         end else begin            if (cbaee3e==0) begin               dbaabb8[cbaee3e] <= swa9780;            end else begin               dbaabb8[cbaee3e] <= dbaabb8[cbaee3e-1];            end         end      end   end
end
endgenerate
generate
begin   if (ui67950 == 0) begin      assign dvalid_out = thc7d4b;      assign cb180c5 = wy3ea5e;      assign hoc062d = swa9780;   end else begin      assign dvalid_out  = ep80320[ui67950-1];      assign cb180c5 = lfc823[ui67950-1];      assign hoc062d = dbaabb8[ui67950-1];   end
end
endgenerate
aa87d7b_Bicubic2D #(.DWIDTH         (DWIDTH       ),        .DOUTWIDTH      (DOUTWIDTH    ),        .dzc7312  (dzc7312),        .xl2d5e3  (xl2d5e3),        .psc5abc  (psc5abc),        .ec59f0          (ec59f0        ),        .cobc7eb      (cobc7eb    ),        .vve3f58        (vve3f58      ),        .gq1fac7     (gq1fac7   ),        .cz6af1f       (cz6af1f     ),        .ps578fd      (ps578fd    ),        .fa58e62       (fa58e62     ))
uvf222f(        .rstn    (rstn    ),        .clk     (clk     ),        .ce      (os771f5      ),        .sr      (lsb8fa9      ),        .din     (of5e00c     ),        .dout    (dout   ));
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];thc7d4b<=hq208ff[2];wy3ea5e<=hq208ff[3];swa9780<={xwcf0c0>>1,hq208ff[4]};of5e00c<={din>>1,hq208ff[5]};ep80320<={mtbe7aa>>1,hq208ff[6]};lfc823<={jr9eaae>>1,hq208ff[7]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=uk2b3c3;vv6411f[2044]<=yk59e18;vv6411f[2040]<=xwcf0c0[0];vv6411f[2032]<=din[0];vv6411f[2016]<=mtbe7aa[0];vv6411f[1984]<=jr9eaae[0];vv6411f[1023]<=ce;end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module rtc2aa5_Bicubic2D (
               rstn,
               clk,
               ce,
               sr,
               qi2e3e6,
               vv71f30,
               dout
            );
parameter   DWIDTH   = 32;
parameter   DTYPE    = "UNSIGNED";
parameter   ec59f0    = 16;
localparam  ou878f3     = 1'b1;
localparam  kf3c798    = 1'b0;
localparam  hbe3cc4   = DWIDTH+1;
localparam  hbf313a     = (DWIDTH+ec59f0-1)/ec59f0;
localparam  ng3ae0e    = DWIDTH%ec59f0;
input                   rstn;
input                   clk;
input                   ce;
input                   sr;
input [DWIDTH-1:0]      qi2e3e6;
input [DWIDTH-1:0]      vv71f30;
output[hbe3cc4-1:0]      dout;
wire[ec59f0*hbf313a-1:0]    tufbfe9;
wire[ec59f0*hbf313a-1:0]    qtfd298;
genvar dze94c4,cbaee3e,ay5313f;
reg             ie989f8[0:hbf313a] ;
wire[ec59f0-1:0] ba3f00f[0:hbf313a-1];
wire[ec59f0-1:0] je1ee2[0:hbf313a-1];
reg [ec59f0-1:0] qtdc4ce[0:hbf313a-1][0:hbf313a-1] ;
reg [ec59f0-1:0] cmceb32[0:hbf313a-1][0:hbf313a-1] ;
reg [ec59f0-1:0] jr32142[0:hbf313a-1][0:hbf313a-1] ;
reg os771f5;
reg lsb8fa9;
reg [DWIDTH - 1 : 0] mgbc9d5;
reg [DWIDTH - 1 : 0] lf2754a;
reg [ec59f0 * hbf313a - 1 : 0] wya9593;
reg [ec59f0 * hbf313a - 1 : 0] hqb2670;
reg [2047:0] vv6411f;
wire [5:0] hq208ff;
localparam vk47fa = 6,oh23fd2 = 32'hfdffc68b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
assign tufbfe9 = ng3ae0e==0 ? mgbc9d5 : DTYPE=="SIGNED" ? {{(ec59f0-ng3ae0e){mgbc9d5[DWIDTH-1]}},mgbc9d5}:                                {{(ec59f0-ng3ae0e){kf3c798}},mgbc9d5};
assign qtfd298 = ng3ae0e==0 ? lf2754a : DTYPE=="SIGNED" ? {{(ec59f0-ng3ae0e){lf2754a[DWIDTH-1]}},lf2754a}:                                {{(ec59f0-ng3ae0e){kf3c798}},lf2754a};
generate
begin   for (dze94c4=0;dze94c4<hbf313a;dze94c4=dze94c4+1) begin:uvdcd98      assign ba3f00f[dze94c4] = wya9593[ec59f0*(dze94c4+1)-1:ec59f0*dze94c4];      assign je1ee2[dze94c4] = hqb2670[ec59f0*(dze94c4+1)-1:ec59f0*dze94c4];      for (cbaee3e=0;cbaee3e<dze94c4;cbaee3e=cbaee3e+1) begin:tu7341c         always @(posedge clk or negedge rstn)         begin            if (rstn == kf3c798) begin               qtdc4ce[dze94c4][cbaee3e] <= {ec59f0{kf3c798}};               cmceb32[dze94c4][cbaee3e] <= {ec59f0{kf3c798}};            end else if (os771f5 == ou878f3) begin               if (lsb8fa9) begin                  qtdc4ce[dze94c4][cbaee3e] <= {ec59f0{kf3c798}};                  cmceb32[dze94c4][cbaee3e] <= {ec59f0{kf3c798}};               end else begin                  qtdc4ce[dze94c4][cbaee3e] <= cbaee3e==0 ? ba3f00f[dze94c4] : qtdc4ce[dze94c4][cbaee3e-1];                  cmceb32[dze94c4][cbaee3e] <= cbaee3e==0 ? je1ee2[dze94c4] : cmceb32[dze94c4][cbaee3e-1];               end            end         end      end      if (dze94c4 == hbf313a-1) begin         always @(posedge clk or negedge rstn)         begin            if (rstn == kf3c798)               {ie989f8[dze94c4],jr32142[dze94c4][dze94c4]} <= {(ec59f0+1){kf3c798}};            else if (os771f5 == ou878f3) begin               if (lsb8fa9 == ou878f3)                  {ie989f8[dze94c4],jr32142[dze94c4][dze94c4]} <= {(ec59f0+1){kf3c798}};               else if (DTYPE == "UNSIGNED")                  {ie989f8[dze94c4],jr32142[dze94c4][dze94c4]} <= dze94c4==0 ?  ba3f00f[0]+je1ee2[0]+1'b0 :                              qtdc4ce[dze94c4][dze94c4-1]+cmceb32[dze94c4][dze94c4-1]+ie989f8[dze94c4-1];               else                  {ie989f8[dze94c4],jr32142[dze94c4][dze94c4]} <= dze94c4==0 ?  {ba3f00f[0][ec59f0-1],ba3f00f[0]}+{je1ee2[0][ec59f0-1],je1ee2[0]}+1'b0 :                              {qtdc4ce[dze94c4][dze94c4-1][ec59f0-1],qtdc4ce[dze94c4][dze94c4-1]}+{cmceb32[dze94c4][dze94c4-1][ec59f0-1],cmceb32[dze94c4][dze94c4-1]}+ie989f8[dze94c4-1];            end         end      end else begin         always @(posedge clk or negedge rstn)         begin            if (rstn == kf3c798)               {ie989f8[dze94c4],jr32142[dze94c4][dze94c4]} <= {(ec59f0+1){kf3c798}};            else if (os771f5 == ou878f3) begin               if (lsb8fa9 == ou878f3)                  {ie989f8[dze94c4],jr32142[dze94c4][dze94c4]} <= {(ec59f0+1){kf3c798}};               else                  {ie989f8[dze94c4],jr32142[dze94c4][dze94c4]} <= dze94c4==0 ?  ba3f00f[0]+je1ee2[0]+1'b0 :                           qtdc4ce[dze94c4][dze94c4-1]+cmceb32[dze94c4][dze94c4-1]+ie989f8[dze94c4-1];            end         end      end      for (cbaee3e=dze94c4+1;cbaee3e<hbf313a;cbaee3e=cbaee3e+1) begin:rt7e11e         always @(posedge clk or negedge rstn)         begin            if (rstn == kf3c798)               jr32142[dze94c4][cbaee3e] <= {(ec59f0+1){kf3c798}};            else if (os771f5 == ou878f3) begin               if (lsb8fa9 == ou878f3)                  jr32142[dze94c4][cbaee3e] <= {(ec59f0+1){kf3c798}};               else                  jr32142[dze94c4][cbaee3e] <= jr32142[dze94c4][cbaee3e-1];            end         end      end   end   if (ng3ae0e == 0) begin      for (dze94c4=0;dze94c4<hbf313a;dze94c4=dze94c4+1) begin:uide9e8         assign dout[ec59f0*(dze94c4+1)-1:ec59f0*dze94c4] = jr32142[dze94c4][hbf313a-1];      end      assign dout[hbe3cc4-1] = ie989f8[hbf313a-1];   end else begin      for (dze94c4=0;dze94c4<hbf313a-1;dze94c4=dze94c4+1) begin:meef022         assign dout[ec59f0*(dze94c4+1)-1:ec59f0*dze94c4] = jr32142[dze94c4][hbf313a-1];      end      assign dout[hbe3cc4-1:hbe3cc4-ng3ae0e-1] = jr32142[hbf313a-1][hbf313a-1][ng3ae0e:0];   end
end
endgenerate
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];mgbc9d5<={qi2e3e6>>1,hq208ff[2]};lf2754a<={vv71f30>>1,hq208ff[3]};wya9593<={tufbfe9>>1,hq208ff[4]};hqb2670<={qtfd298>>1,hq208ff[5]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=qi2e3e6[0];vv6411f[2044]<=vv71f30[0];vv6411f[2040]<=tufbfe9[0];vv6411f[2032]<=qtfd298[0];vv6411f[1023]<=ce;end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module aa87d7b_Bicubic2D(
             
             clk,
             rstn,
             ce,
             sr,
             din,
             
             dout
             );
parameter DWIDTH           = 12;
parameter DOUTWIDTH        = 32;
parameter dzc7312    = 1;
parameter xl2d5e3    = "NORMAL";
parameter psc5abc    = "SATURATON";
parameter ec59f0            = 24;
parameter cobc7eb        = 0;
parameter vve3f58          = 0;
parameter gq1fac7       = 0;
parameter cz6af1f         = "SIGNED";
parameter ps578fd        = "SIGNED";
parameter fa58e62         = 0;
localparam mr60a5f = (gq1fac7 < cobc7eb+vve3f58) ? cobc7eb+vve3f58-gq1fac7 : 0;
localparam rt55ea2 = (mr60a5f == 0) ? DWIDTH :                       (xl2d5e3 == "TRUNCATION") ? DWIDTH-mr60a5f :                       (cz6af1f == "UNSIGNED") ? DWIDTH-mr60a5f+1 : DWIDTH-mr60a5f+2;
localparam hbe3cc4 = (gq1fac7>=(cobc7eb+vve3f58)) ? (DOUTWIDTH+cobc7eb+vve3f58-gq1fac7) :                        ((DOUTWIDTH>(DWIDTH-mr60a5f)) ? (DWIDTH-mr60a5f) : DOUTWIDTH);
localparam mt2cf81 = (cz6af1f == "UNSIGNED") ? DWIDTH-mr60a5f : DWIDTH-mr60a5f+1;
localparam nr6123e = (mt2cf81+ec59f0-1)/ec59f0;
input                       clk;
input                       rstn;
input                       ce;
input                       sr;
input[DWIDTH-1:0]           din;
output [DOUTWIDTH-1:0]      dout;
wire[rt55ea2-1:0]         nr71f48;
reg[DWIDTH-1:0]             kq7d23c;
reg os771f5;
reg lsb8fa9;
reg [DWIDTH - 1 : 0] of5e00c;
reg [rt55ea2 - 1 : 0] cb76a0;
reg [DWIDTH - 1 : 0] lqda829;
reg [2047:0] vv6411f;
wire [4:0] hq208ff;
localparam vk47fa = 5,oh23fd2 = 32'hfdffc68b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
generate
begin   if (fa58e62 == 1) begin      always @(posedge clk or negedge rstn)      begin         if (rstn == 1'b0)            kq7d23c <= {DWIDTH{1'b0}};         else if (os771f5 == 1'b1) begin            if (lsb8fa9 == 1'b1)               kq7d23c <= {DWIDTH{1'b0}};            else               kq7d23c <= of5e00c;         end      end   end else begin      always @(*) begin         kq7d23c <= of5e00c;      end   end
end
endgenerate
fp3270b_Bicubic2D #(.DWIDTH         (DWIDTH       ),            .hbe3cc4         (rt55ea2    ),            .xl2d5e3  (xl2d5e3),            .mr60a5f      (mr60a5f    ),            .ec59f0          (ec59f0        ),            .cz6af1f       (cz6af1f     ))     dmc0709 (            .rstn    (rstn     ),            .clk     (clk      ),            .ce      (os771f5       ),            .sr      (lsb8fa9       ),            .din     (lqda829      ),            .dout    (nr71f48 ));
ww5c3e6_Bicubic2D #(.DWIDTH         (rt55ea2    ),            .hbe3cc4         (hbe3cc4       ),            .sw3141e      (DWIDTH       ),            .DOUTWIDTH      (DOUTWIDTH    ),            .dzc7312  (dzc7312),            .xl2d5e3  (xl2d5e3),            .psc5abc  (psc5abc),            .mr60a5f      (mr60a5f    ),            .cobc7eb      (cobc7eb    ),            .vve3f58        (vve3f58      ),            .gq1fac7     (gq1fac7   ),            .cz6af1f       (cz6af1f     ),            .ps578fd      (ps578fd    ))     wjfd32f (            .rstn    (rstn     ),            .clk     (clk      ),            .ce      (os771f5       ),            .sr      (lsb8fa9       ),            .din     (cb76a0 ),            .dout    (dout    ));
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];of5e00c<={din>>1,hq208ff[2]};cb76a0<={nr71f48>>1,hq208ff[3]};lqda829<={kq7d23c>>1,hq208ff[4]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=din[0];vv6411f[2044]<=nr71f48[0];vv6411f[2040]<=kq7d23c[0];vv6411f[1023]<=ce;end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module fp3270b_Bicubic2D(
                 
                 clk,
                 rstn,
                 ce,
                 sr,
                 din,
                 
                 dout
                 );
parameter DWIDTH         = 12;
parameter hbe3cc4         = 12;
parameter xl2d5e3  = "TRUNCATION";
parameter mr60a5f      = 3;
parameter cz6af1f       = "SIGNED";
parameter ec59f0          = 24;
localparam  mt2cf81 = (cz6af1f == "UNSIGNED") ? DWIDTH-mr60a5f : DWIDTH-mr60a5f+1;
input               clk;
input               rstn;
input               ce;
input               sr;
input[DWIDTH-1:0]   din;
output[hbe3cc4-1:0]  dout;
reg                 kd7a537;
wire                ldd29bd;
wire[mt2cf81-1:0] aaa6f7e;
reg[mt2cf81-1:0] babdf8e;
reg[mt2cf81-1:0] qi2e3e6;
reg[mt2cf81-1:0] vv71f30;
wire[hbe3cc4-1:0]    dout;
reg os771f5;
reg lsb8fa9;
reg [DWIDTH - 1 : 0] of5e00c;
reg jcda793;
reg ipd3c9a;
reg [mt2cf81 - 1 : 0] wjf26ae;
reg [mt2cf81 - 1 : 0] mt9abaa;
reg [mt2cf81 - 1 : 0] mgbc9d5;
reg [mt2cf81 - 1 : 0] lf2754a;
reg [2047:0] vv6411f;
wire [8:0] hq208ff;
localparam vk47fa = 9,oh23fd2 = 32'hfdffca8b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
generate
begin   if (mr60a5f == 0) begin         assign dout = of5e00c;   end else if (xl2d5e3 == "TRUNCATION") begin      assign dout = of5e00c[DWIDTH-1:mr60a5f];   end else begin      rtc2aa5_Bicubic2D   #(.DWIDTH  (mt2cf81    ),                 .DTYPE   (cz6af1f    ),                 .ec59f0   (ec59f0       ))      uk98ad8  (                 .rstn    (rstn    ),                 .clk     (clk     ),                 .ce      (os771f5      ),                 .sr      (lsb8fa9      ),                 .qi2e3e6    (mgbc9d5    ),                 .vv71f30    (lf2754a    ),                 .dout    (dout    ));   end
end
endgenerate
generate
begin   if(mr60a5f ==0 || xl2d5e3 == "TRUNCATION") begin      always@(*) qi2e3e6  <= wjf26ae;      always@(*) vv71f30  <= mt9abaa;      always@(*) kd7a537  <= ipd3c9a;   end else begin      always @(posedge clk or negedge rstn)      begin         if (rstn == 1'b0) begin            qi2e3e6 <= {mt2cf81{1'b0}};            vv71f30 <= {mt2cf81{1'b0}};            kd7a537  <= 1'b0;         end else if (os771f5) begin            if (lsb8fa9) begin               qi2e3e6 <= {mt2cf81{1'b0}};               vv71f30 <= {mt2cf81{1'b0}};               kd7a537  <= 1'b0;            end else begin               qi2e3e6 <= wjf26ae;               vv71f30 <= mt9abaa;               kd7a537  <= ipd3c9a;            end         end      end   end
end
endgenerate
assign ldd29bd   = of5e00c[DWIDTH-1];
generate
begin   if (cz6af1f == "UNSIGNED")       assign aaa6f7e = {of5e00c[DWIDTH-1:mr60a5f]};   else      assign aaa6f7e = {ipd3c9a,of5e00c[DWIDTH-1:mr60a5f]};
end
endgenerate
generate
begin   if (mr60a5f > 0) begin      if (cz6af1f == "UNSIGNED") begin          if (xl2d5e3=="ROUNDINGUP") begin             always @(of5e00c)               babdf8e = {{(mt2cf81-1){1'b0}},of5e00c[mr60a5f-1]};         end else if (xl2d5e3=="NORMAL") begin             always @(of5e00c)               babdf8e = {{(mt2cf81-1){1'b0}},of5e00c[mr60a5f-1]};         end else if (xl2d5e3=="TOWARDSZERO") begin             always @(of5e00c)            begin               if( of5e00c[mr60a5f-1:0]== (1<<(mr60a5f-1)))                  babdf8e = 0;               else                  babdf8e = {{(mt2cf81-1){1'b0}},of5e00c[mr60a5f-1]};            end         end else if (xl2d5e3=="CONVERGENT") begin             always @(of5e00c)            begin               if( of5e00c[mr60a5f-1:0]== (1<<(mr60a5f-1))) begin                  if(of5e00c[mr60a5f]==1)                     babdf8e = {{(mt2cf81-1){1'b0}},1'b1};                  else if(of5e00c[mr60a5f]==0)                     babdf8e = 0;               end else                  babdf8e = {{(mt2cf81-1){1'b0}},of5e00c[mr60a5f-1]};            end         end      end else begin          if (xl2d5e3=="ROUNDINGUP") begin             always @(of5e00c or ipd3c9a)               babdf8e = {{(mt2cf81-1){1'b0}},of5e00c[mr60a5f-1]};         end else if (xl2d5e3=="NORMAL") begin             always @(of5e00c or ipd3c9a)            begin               if(ipd3c9a==0)                  babdf8e = {{(mt2cf81-1){1'b0}},of5e00c[mr60a5f-1]};               else begin                  if( of5e00c[mr60a5f-1:0]== (1<<(mr60a5f-1)))                     babdf8e = 0;                  else                     babdf8e = {{(mt2cf81-1){1'b0}},of5e00c[mr60a5f-1]};               end            end         end else if (xl2d5e3=="TOWARDSZERO") begin             always @(of5e00c or ipd3c9a)            begin               if(ipd3c9a==0) begin                  if( of5e00c[mr60a5f-1:0]== (1<<(mr60a5f-1)))                     babdf8e = 0;                  else                     babdf8e = {{(mt2cf81-1){1'b0}},of5e00c[mr60a5f-1]};               end else                  babdf8e = {{(mt2cf81-1){1'b0}},of5e00c[mr60a5f-1]};            end         end else if (xl2d5e3=="CONVERGENT") begin             always @(of5e00c or ipd3c9a)            begin               if( of5e00c[mr60a5f-1:0]== (1<<(mr60a5f-1))) begin                  if(of5e00c[mr60a5f]==1)                     babdf8e = {{(mt2cf81-1){1'b0}},1'b1};                  else                     babdf8e = 0;               end else                  babdf8e = {{(mt2cf81-1){1'b0}},of5e00c[mr60a5f-1]};            end         end      end   end
end
endgenerate
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];of5e00c<={din>>1,hq208ff[2]};jcda793<=hq208ff[3];ipd3c9a<=hq208ff[4];wjf26ae<={aaa6f7e>>1,hq208ff[5]};mt9abaa<={babdf8e>>1,hq208ff[6]};mgbc9d5<={qi2e3e6>>1,hq208ff[7]};lf2754a<={vv71f30>>1,hq208ff[8]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=din[0];vv6411f[2044]<=kd7a537;vv6411f[2040]<=ldd29bd;vv6411f[2032]<=aaa6f7e[0];vv6411f[2017]<=babdf8e[0];vv6411f[1987]<=qi2e3e6[0];vv6411f[1926]<=vv71f30[0];vv6411f[1023]<=ce;end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module ww5c3e6_Bicubic2D(
                 
                 clk,
                 rstn,
                 ce,
                 sr,
                 din,
                 
                 dout
                 );
parameter DWIDTH         = 12;
parameter hbe3cc4         = 3;
parameter sw3141e      = 3;
parameter DOUTWIDTH      = 3;
parameter dzc7312  = 1;
parameter psc5abc  = "SATURATION";
parameter xl2d5e3  = "TRUNCATION";
parameter mr60a5f      = 3;
parameter cobc7eb      = 0;
parameter vve3f58        = 0;
parameter gq1fac7     = 0;
parameter cz6af1f       = "SIGNED";
parameter ps578fd      = "SIGNED";
input                   clk;
input                   rstn;
input                   ce;
input                   sr;
input[DWIDTH-1:0]       din;
output[DOUTWIDTH-1:0]   dout;
wire                    gd18fdb;
wire                    ldc7edc;
wire[hbe3cc4-2:0]        rgfb733;
wire[hbe3cc4-2:0]        kddccd9;
wire[hbe3cc4-1:0]        yz33666;
wire[hbe3cc4-1:0]        end99ae;
wire[hbe3cc4-1:0]        ne66ba5;
wire[hbe3cc4-1:0]        qvae95b;
reg[hbe3cc4-1:0]         xla56ef;
wire[hbe3cc4-1:0]        qt5bbf8;
reg os771f5;
reg lsb8fa9;
reg [DWIDTH - 1 : 0] of5e00c;
reg fac5c6d;
reg sw2e36b;
reg [hbe3cc4 - 2 : 0] mg8dac7;
reg [hbe3cc4 - 2 : 0] bl6b1c9;
reg [hbe3cc4 - 1 : 0] nrc7272;
reg [hbe3cc4 - 1 : 0] alc9cbc;
reg [hbe3cc4 - 1 : 0] kq72f2d;
reg [hbe3cc4 - 1 : 0] mgbcb41;
reg [hbe3cc4 - 1 : 0] db2d048;
reg [hbe3cc4 - 1 : 0] uv41239;
reg [2047:0] vv6411f;
wire [12:0] hq208ff;
localparam vk47fa = 13,oh23fd2 = 32'hfdffe06b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
assign rgfb733  = {(hbe3cc4-1){1'b1}};
assign kddccd9 = {(hbe3cc4-1){1'b0}};
generate
begin   if (cz6af1f == "UNSIGNED") begin       if (psc5abc == "WRAP_AROUND") begin          assign qvae95b = of5e00c[hbe3cc4-1:0];      end else begin          if (DWIDTH == hbe3cc4)            assign qvae95b = of5e00c[hbe3cc4-1:0];         else begin            assign gd18fdb = |(of5e00c[DWIDTH-1:hbe3cc4]);            assign qvae95b = fac5c6d ? {1'b1,mg8dac7} : of5e00c[hbe3cc4-1:0];         end      end   end else begin       if (ps578fd == "SIGNED") begin         if (psc5abc=="WRAP_AROUND") begin             if (mr60a5f == 0 || xl2d5e3=="TRUNCATION")               assign qvae95b = {of5e00c[DWIDTH-1],of5e00c[hbe3cc4-2:0]};            else               assign qvae95b = {of5e00c[DWIDTH-2],of5e00c[hbe3cc4-2:0]};         end else begin             if (DWIDTH == hbe3cc4) begin               assign qvae95b = of5e00c;            end else begin               assign gd18fdb  = |(of5e00c[DWIDTH-1:hbe3cc4-1]);               assign ldc7edc = &(of5e00c[DWIDTH-1:hbe3cc4-1]);               assign end99ae = sw2e36b ? of5e00c[hbe3cc4-1:0] : {1'b1,bl6b1c9};               assign ne66ba5 = fac5c6d ? {1'b0,mg8dac7} : of5e00c[hbe3cc4-1:0];               assign qvae95b = of5e00c[DWIDTH-1] ? alc9cbc : kq72f2d;            end         end      end else begin          if (psc5abc == "WRAP_AROUND") begin             assign yz33666 = of5e00c[hbe3cc4-1:0];         end else begin             if (DWIDTH == hbe3cc4)               assign gd18fdb = 0;            else               assign gd18fdb = |(of5e00c[DWIDTH-1:hbe3cc4]);            assign yz33666 = fac5c6d ? {1'b1,mg8dac7} : of5e00c[hbe3cc4-1:0];         end         assign qvae95b = (of5e00c[DWIDTH-1] == 1) ? {hbe3cc4{1'b0}} : nrc7272;      end   end
end
endgenerate
always @(posedge clk or negedge rstn)
begin   if (rstn == 1'b0)      xla56ef <= {hbe3cc4{1'b0}};   else if (os771f5 == 1'b1) begin      if (lsb8fa9)         xla56ef <= {hbe3cc4{1'b0}};      else         xla56ef <= mgbcb41;   end
end
generate
begin   if (dzc7312==0) begin      assign qt5bbf8 = of5e00c ;   end else if(psc5abc == "SATURATION") begin      assign qt5bbf8 = db2d048;   end else if((cz6af1f == "SIGNED") && (ps578fd == "UNSIGNED") && (psc5abc == "WRAP_AROUND"))  begin      assign qt5bbf8 = db2d048;   end else begin      assign qt5bbf8 = mgbcb41;   end
end
endgenerate
generate
if(gq1fac7==(cobc7eb+vve3f58)) begin   assign dout = uv41239;
end else if (gq1fac7>(cobc7eb+vve3f58)) begin   assign dout = {uv41239,{(gq1fac7-(cobc7eb+vve3f58)){1'b0}}};
end else begin   if(DOUTWIDTH<=(sw3141e-mr60a5f))      assign dout = uv41239;   else begin      if (cz6af1f == "SIGNED")         assign dout = {{(DOUTWIDTH-hbe3cc4){uv41239[hbe3cc4-1]}},uv41239};      else         assign dout = {{(DOUTWIDTH-hbe3cc4){1'b0}},uv41239};   end
end
endgenerate
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];of5e00c<={din>>1,hq208ff[2]};fac5c6d<=hq208ff[3];sw2e36b<=hq208ff[4];mg8dac7<={rgfb733>>1,hq208ff[5]};bl6b1c9<={kddccd9>>1,hq208ff[6]};nrc7272<={yz33666>>1,hq208ff[7]};alc9cbc<={end99ae>>1,hq208ff[8]};kq72f2d<={ne66ba5>>1,hq208ff[9]};mgbcb41<={qvae95b>>1,hq208ff[10]};db2d048<={xla56ef>>1,hq208ff[11]};uv41239<={qt5bbf8>>1,hq208ff[12]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=din[0];vv6411f[2044]<=gd18fdb;vv6411f[2041]<=ldc7edc;vv6411f[2034]<=rgfb733[0];vv6411f[2021]<=kddccd9[0];vv6411f[1995]<=yz33666[0];vv6411f[1943]<=end99ae[0];vv6411f[1838]<=ne66ba5[0];vv6411f[1628]<=qvae95b[0];vv6411f[1209]<=xla56ef[0];vv6411f[1023]<=ce;vv6411f[371]<=qt5bbf8[0];end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module uk3e529_Bicubic2D(
                  pclk,
                  rstn,
                  ce, 
                  sr, 
                  yk499bd,
                  su4cde9,
                  pwrite,
                  paddr,
                  pwdat,
                  prdat,
                  ic49797,
                  sh4bcb8,
                  uv5e5c4,
                  shf2e24,
                  mg97124,
                  bab8920,
                  osc4903);
parameter   VFCWIDTH       = 32;
parameter   HFCWIDTH       = 32;
parameter   VINWIDTH       = 320;
parameter   VINHEIGHT      = 240;
parameter   VOUTWIDTH      = 320;
parameter   VOUTHEIGHT     = 240;
parameter   VSFACTOR       = 1;
parameter   HSFACTOR       = 1;
parameter   PADDRWIDTH     = 4;
parameter   PBUSWIDTH      = 32;
parameter   SEPPCLK        = "FALSE";
parameter   FAMILY         = "ECP2";
localparam  lsa2e12        = gd17093(VINWIDTH-1);
localparam  thc24e2        = gd17093(VINHEIGHT-1);
localparam  fc9c5e3        = gd17093(VOUTWIDTH-1);
localparam  aabc6ed        = gd17093(VOUTHEIGHT-1);
localparam  hbdda33          = PBUSWIDTH/8;
localparam  me68cf5           = (hbdda33==1) ? 1 : gd17093(hbdda33-1);
localparam  ayf5067  = 0,         zma8338 = 4,         sh419c3  = 8,         vxce1d = 12,         ui670ef  = 16,         xl38778  = 20,         gbc3bc6    = 24;
input                      pclk;
input                      rstn;
input                      ce;
input                      sr;
input                      yk499bd;
input                      su4cde9;
input                      pwrite;
input   [PADDRWIDTH-1:0]   paddr;
input    [PBUSWIDTH-1:0]   pwdat;
output   [PBUSWIDTH-1:0]   prdat;
output     [lsa2e12-1:0]   ic49797;
output     [thc24e2-1:0]   sh4bcb8;
output     [fc9c5e3-1:0]   uv5e5c4;
output     [aabc6ed-1:0]   shf2e24;
output    [VFCWIDTH-1:0]   mg97124;
output    [HFCWIDTH-1:0]   bab8920;
output                     osc4903;
wire       [lsa2e12-1:0]   ic49797;
wire       [thc24e2-1:0]   sh4bcb8;
wire       [fc9c5e3-1:0]   uv5e5c4;
wire       [aabc6ed-1:0]   shf2e24;
wire      [VFCWIDTH-1:0]   mg97124;
wire      [HFCWIDTH-1:0]   bab8920;
reg               [15:0]   uxbe486;
reg               [15:0]   mrf2435;
reg               [15:0]   uk921ad;
reg               [15:0]   oh90d68;
reg               [31:0]   ri86b44;
reg               [31:0]   hq35a22;
reg                        osc4903;
reg      [PBUSWIDTH-1:0]   prdat;
reg                        vx226c4;
wire                       fp13626;
wire [PADDRWIDTH-me68cf5:0]   qgc4db6;
reg os771f5;
reg lsb8fa9;
reg oub6c6c;
reg gqb6360;
reg [PADDRWIDTH - 1 : 0] co8d80d;
reg [PBUSWIDTH - 1 : 0] sh6034b;
reg [15 : 0] je1a5d;
reg [15 : 0] and2eb;
reg [15 : 0] fa6975c;
reg [15 : 0] of4bae3;
reg [31 : 0] ne5d71c;
reg [31 : 0] rgeb8e3;
reg ea5c71b;
reg zxe38d9;
reg [PADDRWIDTH - me68cf5 : 0] ls1b3fe;
reg [2047:0] vv6411f;
wire [14:0] hq208ff;
localparam vk47fa = 15,oh23fd2 = 32'hfdffca8b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
function [31:0] gd17093;
input [31:0] value;
for (gd17093=0; value>0; gd17093=gd17093+1) value = value>>1;
endfunction
assign ic49797  = je1a5d [lsa2e12-1:0];
assign sh4bcb8 = and2eb[thc24e2-1:0];
assign uv5e5c4  = fa6975c [fc9c5e3-1:0];
assign shf2e24 = of4bae3[aabc6ed-1:0];
assign mg97124  = ne5d71c [VFCWIDTH-1:0];
assign bab8920  = rgeb8e3 [HFCWIDTH-1:0];
assign fp13626     = (SEPPCLK=="FALSE") ? oub6c6c : ea5c71b;
always @(posedge su4cde9 or negedge rstn) begin   if(!rstn) begin      vx226c4 <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         vx226c4 <= 1'b0;      end else if(oub6c6c && osc4903) begin         vx226c4 <= 1'b1;      end else if(!osc4903) begin         vx226c4 <= 1'b0;      end   end
end
generate   if(PBUSWIDTH==32) begin      assign qgc4db6     = co8d80d>>2;      always @(posedge pclk or negedge rstn) begin         if(!rstn) begin            uxbe486  <= VINWIDTH-1;            mrf2435 <= VINHEIGHT-1;            uk921ad  <= VOUTWIDTH-1;            oh90d68 <= VOUTHEIGHT-1;            ri86b44  <= VSFACTOR;            hq35a22  <= HSFACTOR;            osc4903    <= 1'b0;            prdat     <= {PBUSWIDTH{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               uxbe486  <= VINWIDTH-1;               mrf2435 <= VINHEIGHT-1;               uk921ad  <= VOUTWIDTH-1;               oh90d68 <= VOUTHEIGHT-1;               ri86b44  <= VSFACTOR;               hq35a22  <= HSFACTOR;               osc4903    <= 1'b0;               prdat     <= {PBUSWIDTH{1'b0}};            end else begin               if(!osc4903 && gqb6360 && ls1b3fe==(ayf5067/4)) begin                  uxbe486  <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(zma8338/4)) begin                  mrf2435 <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(sh419c3/4)) begin                  uk921ad  <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(vxce1d/4)) begin                  oh90d68 <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(ui670ef/4)) begin                  ri86b44  <= sh6034b[31:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(xl38778/4)) begin                  hq35a22  <= sh6034b[31:0];               end               if(zxe38d9) begin                  osc4903    <= 1'b0;               end else if(gqb6360 && ls1b3fe==(gbc3bc6/4)) begin                  osc4903    <= sh6034b[0];               end               case(ls1b3fe)                   ( ayf5067/4) : prdat <= {{16{1'b0}},je1a5d};                  (zma8338/4) : prdat <= {{16{1'b0}},and2eb};                  ( sh419c3/4) : prdat <= {{16{1'b0}},fa6975c};                  (vxce1d/4) : prdat <= {{16{1'b0}},of4bae3};                  ( ui670ef/4) : prdat <= ne5d71c;                  ( xl38778/4) : prdat <= rgeb8e3;                  (   gbc3bc6/4) : prdat <= {{31{1'b0}},osc4903};                  default            : prdat <=  {32{1'b0}};               endcase            end         end      end   end else if(PBUSWIDTH==16) begin      assign qgc4db6     = co8d80d>>1;      always @(posedge pclk or negedge rstn) begin         if(!rstn) begin            uxbe486  <= VINWIDTH-1;            mrf2435 <= VINHEIGHT-1;            uk921ad  <= VOUTWIDTH-1;            oh90d68 <= VOUTHEIGHT-1;            ri86b44  <= VSFACTOR;            hq35a22  <= HSFACTOR;            osc4903    <= 1'b0;            prdat     <= {PBUSWIDTH{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               uxbe486  <= VINWIDTH-1;               mrf2435 <= VINHEIGHT-1;               uk921ad  <= VOUTWIDTH-1;               oh90d68 <= VOUTHEIGHT-1;               ri86b44  <= VSFACTOR;               hq35a22  <= HSFACTOR;               osc4903    <= 1'b0;               prdat     <= {PBUSWIDTH{1'b0}};            end else begin               if(!osc4903 && gqb6360 && ls1b3fe==(ayf5067/2)) begin                  uxbe486  <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(zma8338/2)) begin                  mrf2435 <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(sh419c3/2)) begin                  uk921ad  <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(vxce1d/2)) begin                  oh90d68 <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(ui670ef/2)) begin                  ri86b44[15:0]  <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(ui670ef/2 + 1)) begin                  ri86b44[31:16] <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(xl38778/2)) begin                  hq35a22[15:0]  <= sh6034b[15:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(xl38778/2 + 1)) begin                  hq35a22[31:16] <= sh6034b[15:0];               end               if(zxe38d9) begin                  osc4903    <= 1'b0;               end else if(gqb6360 && ls1b3fe==(gbc3bc6/2)) begin                  osc4903    <= sh6034b[0];               end               case(ls1b3fe)                   ( ayf5067/2  ) : prdat <= je1a5d;                  (zma8338/2  ) : prdat <= and2eb;                  ( sh419c3/2  ) : prdat <= fa6975c;                  (vxce1d/2  ) : prdat <= of4bae3;                  ( ui670ef/2  ) : prdat <= ne5d71c[15:0];                  ( ui670ef/2+1) : prdat <= ne5d71c[31:16];                  ( xl38778/2  ) : prdat <= rgeb8e3[15:0];                  ( xl38778/2+1) : prdat <= rgeb8e3[31:16];                  (   gbc3bc6/2  ) : prdat <= {{15{1'b0}},osc4903};                  default              : prdat <=  {16{1'b0}};               endcase            end         end      end   end else if(PBUSWIDTH==8) begin      assign qgc4db6     = co8d80d;      always @(posedge pclk or negedge rstn) begin         if(!rstn) begin            uxbe486  <= VINWIDTH-1;            mrf2435 <= VINHEIGHT-1;            uk921ad  <= VOUTWIDTH-1;            oh90d68 <= VOUTHEIGHT-1;            ri86b44  <= VSFACTOR;            hq35a22  <= HSFACTOR;            osc4903    <= 1'b0;            prdat     <= {PBUSWIDTH{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               uxbe486  <= VINWIDTH-1;               mrf2435 <= VINHEIGHT-1;               uk921ad  <= VOUTWIDTH-1;               oh90d68 <= VOUTHEIGHT-1;               ri86b44  <= VSFACTOR;               hq35a22  <= HSFACTOR;               osc4903    <= 1'b0;               prdat     <= {PBUSWIDTH{1'b0}};            end else begin               if(!osc4903 && gqb6360 && ls1b3fe==(ayf5067)) begin                  uxbe486[7:0]   <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(ayf5067+1)) begin                  uxbe486[15:8]  <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(zma8338)) begin                  mrf2435[7:0]  <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(zma8338+1)) begin                  mrf2435[15:8] <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(sh419c3)) begin                  uk921ad[7:0]   <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(sh419c3+1)) begin                  uk921ad[15:8]  <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(vxce1d)) begin                  oh90d68[7:0]  <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(vxce1d+1)) begin                  oh90d68[15:8] <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(ui670ef)) begin                  ri86b44[7:0]   <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(ui670ef+1)) begin                  ri86b44[15:8]  <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(ui670ef+2)) begin                  ri86b44[23:16] <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(ui670ef+3)) begin                  ri86b44[31:24] <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(xl38778)) begin                  hq35a22[7:0]   <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(xl38778+1)) begin                  hq35a22[15:8]  <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(xl38778+2)) begin                  hq35a22[23:16] <= sh6034b[7:0];               end               if(!osc4903 && gqb6360 && ls1b3fe==(xl38778+3)) begin                  hq35a22[31:24] <= sh6034b[7:0];               end               if(zxe38d9) begin                  osc4903    <= 1'b0;               end else if(gqb6360 && ls1b3fe==(gbc3bc6)) begin
                  osc4903    <= sh6034b[0];               end               case(ls1b3fe)                   ( ayf5067  ) : prdat <= je1a5d [ 7:0];                  ( ayf5067+1) : prdat <= je1a5d [15:8];                  (zma8338  ) : prdat <= and2eb[ 7:0];                  (zma8338+1) : prdat <= and2eb[15:8];                  ( sh419c3  ) : prdat <= fa6975c [ 7:0];                  ( sh419c3+1) : prdat <= fa6975c [15:8];                  (vxce1d  ) : prdat <= of4bae3[ 7:0];                  (vxce1d+1) : prdat <= of4bae3[15:8];                  ( ui670ef  ) : prdat <= ne5d71c[ 7: 0];                  ( ui670ef+1) : prdat <= ne5d71c[15: 8];                  ( ui670ef+2) : prdat <= ne5d71c[23:16];                  ( ui670ef+3) : prdat <= ne5d71c[31:24];                  ( xl38778  ) : prdat <= rgeb8e3[ 7: 0];                  ( xl38778+1) : prdat <= rgeb8e3[15: 8];                  ( xl38778+2) : prdat <= rgeb8e3[23:16];                  ( xl38778+3) : prdat <= rgeb8e3[31:24];                  (   gbc3bc6  ) : prdat <= {{7{1'b0}},osc4903};                  default            : prdat <=  {8{1'b0}};               endcase            end         end      end   end
endgenerate
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];oub6c6c<=hq208ff[2];gqb6360<=hq208ff[3];co8d80d<={paddr>>1,hq208ff[4]};sh6034b<={pwdat>>1,hq208ff[5]};je1a5d<={uxbe486>>1,hq208ff[6]};and2eb<={mrf2435>>1,hq208ff[7]};fa6975c<={uk921ad>>1,hq208ff[8]};of4bae3<={oh90d68>>1,hq208ff[9]};ne5d71c<={ri86b44>>1,hq208ff[10]};rgeb8e3<={hq35a22>>1,hq208ff[11]};ea5c71b<=hq208ff[12];zxe38d9<=hq208ff[13];ls1b3fe<={qgc4db6>>1,hq208ff[14]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=yk499bd;vv6411f[2044]<=pwrite;vv6411f[2040]<=paddr[0];vv6411f[2032]<=pwdat[0];vv6411f[2017]<=uxbe486[0];vv6411f[1987]<=mrf2435[0];vv6411f[1926]<=uk921ad[0];vv6411f[1804]<=oh90d68[0];vv6411f[1560]<=ri86b44[0];vv6411f[1072]<=hq35a22[0];vv6411f[1023]<=ce;vv6411f[387]<=qgc4db6[0];vv6411f[193]<=fp13626;vv6411f[96]<=vx226c4;end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module ie1a88a_Bicubic2D(
                  clk,
                  rstn,
                  ce, 
                  sr, 
                  din, 
                  dvalid_in,
                  frmsync_in,
                  os53b57, 
                  uxbe486,
                  mrf2435,
                  uk921ad,
                  oh90d68,
                  ri86b44,
                  hq35a22,
                  dout_enable,
                  ie989f8, 
                  dout, 
                  dz50ffc, 
                  gq87fe6, 
                  dvalid_out, 
                  frmsync_out,
                  ldfcc10,
                  fwidth_out,
                  fheight_out,
                  ready);
parameter   SCALER_NAME    = "SCALER";
parameter   qi87c88       = 1;
parameter   VINWIDTH       = 320;
parameter   VINHEIGHT      = 240;
parameter   VOUTWIDTH      = 320;
parameter   VOUTHEIGHT     = 240;
parameter   KERNEL         = "LANCZOS";
parameter   VFTAPS         = 4;
parameter   HFTAPS         = 4;
parameter   VFPHASES       = 256;
parameter   HFPHASES       = 256;
parameter   EDGEMODE       = "COPY";
parameter   EDGEVALUE      = 0;
parameter   VSFACTOR       = 16;
parameter   HSFACTOR       = 16;
parameter   VFCWIDTH       = 32;
parameter   VFCBPWIDTH     = 16;
parameter   HFCWIDTH       = 32;
parameter   HFCBPWIDTH     = 16;
parameter   PARALLEL       = "TRUE";
parameter   YCBCR422       = "TRUE";
parameter   DYNAMIC        = "FALSE";
parameter   SHARE_CMEM     = "TRUE";
parameter   DWIDTH         = 8;
parameter   CWIDTH         = 8;
parameter   LBUFFER        = "EBR";
parameter   aaa1b        = "EBR";
parameter   FAMILY         = "ECP2M";
localparam  lsa2e12        = gd17093(VINWIDTH-1);
localparam  thc24e2        = gd17093(VINHEIGHT-1);
localparam  fc9c5e3        = gd17093(VOUTWIDTH-1);
localparam  aabc6ed        = gd17093(VOUTHEIGHT-1);
localparam  ene2db5        = gd17093(VFPHASES-1);
localparam  aab6b78        = gd17093(HFPHASES-1);
localparam  gb6f03a       = qi87c88*VINWIDTH;
localparam  oh7503        = gd17093(gb6f03a-1);
localparam  fpa0751      = gd17093(gb6f03a);
localparam  icea3f5       = VFCWIDTH-VFCBPWIDTH;
localparam  bl7ea24       = HFCWIDTH-HFCBPWIDTH;
localparam  en44982        = (VFTAPS-1)/2;
localparam  ux260a8       = (HFTAPS-1)/2;
localparam  ks82a22     = VFTAPS-1-en44982;
localparam  uv4440a      = HFTAPS-1-ux260a8;
localparam  tj81531      = (qi87c88==1) ? 1 : gd17093(qi87c88-1);
localparam  co31c20        = (   en44982 <=1) ? 1 : gd17093(   en44982-1);
localparam  tw203ee        = (ks82a22 <=1) ? 1 : gd17093(ks82a22-1);
localparam  dmee6c1     = (VFTAPS-1)*DWIDTH;
localparam  xjd829e     = VFTAPS*DWIDTH;
localparam  qg53dc1     = VFTAPS*CWIDTH;
localparam  rib827d     = HFTAPS*CWIDTH;
localparam  bl4fa87     = {SCALER_NAME,"coeffv.rom"};
localparam  uiea1f0        = (SHARE_CMEM=="TRUE") ? (qg53dc1+8) : (aab6b78+8);
localparam  qgf0181       = "TRUE";
localparam  yz80c08      = "TRUE";
localparam  rv6045   = 31;
localparam  ls3022f        = gd17093(rv6045);
input                      clk;
input                      rstn;
input                      ce;
input                      sr;
input       [DWIDTH-1:0]   din;
input                      dvalid_in;
input                      frmsync_in;
input                      os53b57;
input      [lsa2e12-1:0]   uxbe486;
input      [thc24e2-1:0]   mrf2435;
input      [fc9c5e3-1:0]   uk921ad;
input      [aabc6ed-1:0]   oh90d68;
input      [VFCWIDTH-1:0]  ri86b44;
input      [HFCWIDTH-1:0]  hq35a22;
input                      dout_enable;
output                     ready;
output  [qg53dc1-1:0]   ie989f8;
output  [xjd829e-1:0]   dout;
output                     dz50ffc;
output                     gq87fe6;
output                     dvalid_out;
output                     frmsync_out;
output     [uiea1f0-1:0]   ldfcc10;
output     [fc9c5e3-1:0]   fwidth_out;
output     [aabc6ed-1:0]   fheight_out;
reg        [lsa2e12-1:0]   qtd9d59             ;
reg        [lsa2e12-1:0]   ip75660          ;
reg        [thc24e2-1:0]   me59824             ;
reg        [fc9c5e3-1:0]   cz60904             ;
reg        [aabc6ed-1:0]   ie24123             ;
reg        [VFCWIDTH-1:0]  vk48ca              ;
reg        [HFCWIDTH-1:0]  ux23299              ;
reg        [fc9c5e3-1:0]   fwidth_out           ;
reg        [aabc6ed-1:0]   fheight_out          ;
reg        [thc24e2-1:0]   os67615              ;
reg        [lsa2e12-1:0]   thd8541              ;
reg        [thc24e2-1:0]   qi1507e              ;
reg        [lsa2e12-1:0]   kd41f8b              ;
reg                        gqfc5d       ;
wire                       dz7e2e8         ;
reg                        faf1747       ;
wire                       ph8ba3a         ;
reg                        vi5d1d6       ;
reg        [thc24e2-1:0]   by4759c          ;
reg                        ng3ace3       ;
wire                       end671a         ;
reg                        oub38d4         ;
reg        [VFCWIDTH-1:0]  xje3503                ;
reg        [VFCWIDTH-1:0]  ead40f1           ;
reg        [VFCWIDTH-1:0]  jr3c4f          ;
wire       [icea3f5-1:0]  zkf13f2                ;
wire       [icea3f5-1:0]  rt4fc93           ;
wire       [icea3f5-1:0]  ipf24f7          ;
reg                        ou927bd         ;
wire                       ri93de8           ;
wire                       vx9ef43          ;
reg                        enf7a1f         ;
wire                       fcbd0fc            ;
wire       [ene2db5-1:0]   me43f15             ;
reg        [ene2db5-1:0]   hbfc541[1:0]      ;
wire       [ene2db5-1:0]   gq15075            ;
reg        [aabc6ed-1:0]   uv41d4b         ;
reg                        jeea5d      ;
wire                       al752ea        ;
reg                        yma9754        ;
reg                        kd4baa1            ;
reg                        ho5d50c            ;
reg                        uiea863             ;
reg      [tj81531-1:0]   uxa18cd             ;
wire                       xlc66c            ;
reg      [tj81531-1:0]   xl19b32           ;
wire                       rtcd996          ;
reg      [tj81531-1:0]   lq665ba           ;
wire                       db32dd2          ;
reg      [tj81531-1:0]   pub74b3            ;
wire                       vxba59b           ;
wire       [aab6b78-1:0]   zm966ff             ;
reg        [HFCWIDTH-1:0]  fp9bfd1                ;
reg        [HFCWIDTH-1:0]  eaff47b           ;
reg        [HFCWIDTH-1:0]  ykd1ec9          ;
wire       [bl7ea24-1:0]  pf7b245                ;
wire       [bl7ea24-1:0]  czc917d           ;
wire       [bl7ea24-1:0]  xj45f63          ;
reg                        hq2fb1f         ;
wire                       cm7d8fb           ;
wire                       zxec7d9          ;
wire                       rg63ecf            ;
reg                        aa1f67b              ;
reg                        nefb3d8              ;
reg                        ipd9ec3           ;
reg                        zkcf61c           ;
reg        [lsa2e12-1:0]   hbd871f          ;
reg        [lsa2e12-1:0]   xl1c7fc       ;
wire                       vve3fe7      ;
reg                        gq1ff3f       ;
wire                       meff9f9         ;
reg                        xjfcfc8       ;
reg                        kde7e47      ;
wire                       xy3f23d        ;
reg        [fc9c5e3-1:0]   pfc8f5e         ;
reg                        zk47af7             ;
reg                        vx3d7ba          ;
reg                        psebdd6           ;
reg                        qt5eeb3           ;
reg                        qtf759d           ;
wire                       dbbaced           ;
reg                        czd676e        ;
reg                        ymb3b74           ;
wire                       ie9dba0         ;
wire                       aledd00               ;
reg                        xj6e804            ;
reg                        dz74027          ;
reg                        zza013e          ;
wire                       mg9f7            ;
wire                       xy4fb9            ;
reg                        ready                ;
reg                        ou3ee5f           ;
reg                        mrf72f8             ;
reg                        ukb97c5            ;
reg                        gocbe28           ;
reg                        dz5f140       ;
wire                       mrf8a06         ;
reg              [3:0]     zkc5035        ;
reg              [3:0]     vx281aa        ;
wire                       nr40d57          ;
wire    [xjd829e-1:0]   dout                 ;
wire    [qg53dc1-1:0]   ie989f8                 ;
wire    [qg53dc1-1:0]   rgfe5de             ;
reg         [CWIDTH-1:0]   gq9779c[1:0]           ;
reg         [DWIDTH-1:0]   ykde704[VFTAPS-1:0]    ;
reg              [1:0]     ri9c106         ;
wire                       wwe0833           ;
wire    [xjd829e-1:0]   ls20cc2                ;
wire    [qg53dc1-1:0]   ep33097                ;
reg     [xjd829e-1:0]   fnc25e9                ;
reg     [qg53dc1-1:0]   qi97a7d                ;
reg     [qg53dc1-1:0]   pfe9f4a               ;
reg        [uiea1f0-1:0]   ea7d2b6[3:0]        ;
wire        [DWIDTH-1:0]   ld4ad87[VFTAPS-1:0]   ;
wire                       ukb61f1           ;
reg        [co31c20-1:0]   wy87c4f[2:0]          ;
wire       [co31c20-1:0]   lqf13c1             ;
reg        [tw203ee-1:0]   fn4f053[2:0]          ;
wire       [tw203ee-1:0]   wwc14f8             ;
reg         [VFTAPS-1:0]   me53e01[2:0]         ;
reg         [VFTAPS-1:0]   kdf804c[2:0]      ;
wire        [DWIDTH-1:0]   pu1322[VFTAPS-1:0]  ;
wire        [VFTAPS-1:0]   rt644b9            ;
wire                       db225cf                ;
reg                        qv12e7e             ;
reg        [oh7503-1:0]   ksb9fa8               ;
wire        [DWIDTH-1:0]   bl7ea0a[VFTAPS-1:0]  ;
reg        [oh7503-1:0]   ip41583             ;
reg     [fpa0751-1 :0]   ww560e0           ;
reg                [1:0]   fpb0700              ;
reg        [oh7503-1:0]   db1c032[1:0]      ;
wire        [DWIDTH-1:0]   cocb9[VFTAPS-1:0]    ;
wire        [DWIDTH-1:0]   sw9727e[VFTAPS-1:0]   ;
wire                       yxc9f80            ;
wire       [oh7503-1:0]   th7e02e           ;
wire       [oh7503-1:0]   qv80bb8           ;
wire    [dmee6c1-1:0]   uk2ee29           ;
wire    [dmee6c1-1:0]   twb8a49          ;
wire                       dmc524b              ;
wire                       an2925a              ;
wire                       yk492d5              ;
reg                        os496a8            ;
reg                [2:0]   of4b540          ;
genvar cbaee3e,ay5313f;
reg os771f5;
reg lsb8fa9;
reg [DWIDTH - 1 : 0] of5e00c;
reg zx7b7ca;
reg ykdbe57;
reg bydf2b9;
reg [lsa2e12 - 1 : 0] je1a5d;
reg [thc24e2 - 1 : 0] and2eb;
reg [fc9c5e3 - 1 : 0] fa6975c;
reg [aabc6ed - 1 : 0] of4bae3;
reg [VFCWIDTH - 1 : 0] ne5d71c;
reg [HFCWIDTH - 1 : 0] rgeb8e3;
reg ep18a4b;
reg [lsa2e12 - 1 : 0] yz292e2;
reg [lsa2e12 - 1 : 0] sh4b8a8;
reg [thc24e2 - 1 : 0] gbe2a21;
reg [fc9c5e3 - 1 : 0] lsa8869;
reg [aabc6ed - 1 : 0] wy21a54;
reg [VFCWIDTH - 1 : 0] xw69504;
reg [HFCWIDTH - 1 : 0] en5411e;
reg [thc24e2 - 1 : 0] do47ae;
reg [lsa2e12 - 1 : 0] vk1eb95;
reg [thc24e2 - 1 : 0] uxae559;
reg [lsa2e12 - 1 : 0] kf95660;
reg qvab305;
reg su5982c;
reg czcc160;
reg wj60b04;
reg ks5824;
reg [thc24e2 - 1 : 0] mr6090d;
reg je486c;
reg ym24363;
reg ec21b19;
reg [VFCWIDTH - 1 : 0] tu6c645;
reg [VFCWIDTH - 1 : 0] fp1915a;
reg [VFCWIDTH - 1 : 0] pf456bf;
reg [icea3f5 - 1 : 0] vv5aff0;
reg [icea3f5 - 1 : 0] dbbfc3f;
reg [icea3f5 - 1 : 0] osf0ff3;
reg ks87f99;
reg do3fcc8;
reg byfe642;
reg rtf3213;
reg je9909f;
reg [ene2db5 - 1 : 0] fa427de;
reg [ene2db5 - 1 : 0] an9f79f;
reg [aabc6ed - 1 : 0] cmde7e2;
reg fnf3f10;
reg oh9f886;
reg blfc435;
reg mre21ae;
reg ie10d74;
reg vk86ba0;
reg [tj81531 - 1 : 0] epae813;
reg hb7409d;
reg [tj81531 - 1 : 0] kf2777;
reg jr13bbd;
reg [tj81531 - 1 : 0] jceef78;
reg su77bc3;
reg [tj81531 - 1 : 0] goef0c3;
reg qg78618;
reg [aab6b78 - 1 : 0] wl18605;
reg [HFCWIDTH - 1 : 0] yz1816d;
reg [HFCWIDTH - 1 : 0] mg5b6b;
reg [HFCWIDTH - 1 : 0] me6dace;
reg [bl7ea24 - 1 : 0] th6b381;
reg [bl7ea24 - 1 : 0] kqce070;
reg [bl7ea24 - 1 : 0] tj81c0c;
reg bae067;
reg sh7033b;
reg ph819dc;
reg xlcee7;
reg kq6773f;
reg sw3b9f8;
reg shdcfc0;
reg cze7e04;
reg [lsa2e12 - 1 : 0] shf812b;
reg [lsa2e12 - 1 : 0] ls4ae3;
reg pu2571b;
reg ks2b8db;
reg ay5c6d9;
reg the36c9;
reg ng1b64e;
reg medb272;
reg [fc9c5e3 - 1 : 0] ofc9c85;
reg sh4e42d;
reg ww7216d;
reg yz90b69;
reg ux85b4c;
reg lf2da65;
reg ea6d32e;
reg fa69971;
reg ic4cb8a;
reg wj65c51;
reg ks2e28c;
reg zx71460;
reg sj8a306;
reg yx51835;
reg tw8c1ac;
reg cz60d62;
reg jr6b14;
reg vk358a6;
reg ouac533;
reg go62999;
reg ri14cc9;
reg oua664a;
reg [3 : 0] an33250;
reg [3 : 0] do99285;
reg qtc942b;
reg [qg53dc1 - 1 : 0] zx50ae7;
reg [1 : 0] cb8573e;
reg qi2b9f4;
reg [xjd829e - 1 : 0] ipe7d08;
reg [qg53dc1 - 1 : 0] zkf4228;
reg [xjd829e - 1 : 0] kf8a15;
reg [qg53dc1 - 1 : 0] db2856e;
reg [qg53dc1 - 1 : 0] co15bba;
reg zmaddd0;
reg [co31c20 - 1 : 0] os77417;
reg [tw203ee - 1 : 0] hod05cf;
reg [VFTAPS - 1 : 0] an173d8;
reg ieb9ec4;
reg tucf621;
reg [oh7503 - 1 : 0] nrd885f;
reg [oh7503 - 1 : 0] sw217f0;
reg [fpa0751 - 1 : 0] bl5fc0a;
reg [1 : 0] zkfe057;
reg ykf02bb;
reg [oh7503 - 1 : 0] ksaec6;
reg [oh7503 - 1 : 0] ohbb182;
reg [dmee6c1 - 1 : 0] uvc60ae;
reg [dmee6c1 - 1 : 0] sw82baa;
reg ou15d50;
reg sjaea80;
reg of75405;
reg jraa02c;
reg [2 : 0] rt50166;
reg [2047:0] vv6411f;
wire [136:0] hq208ff;
localparam vk47fa = 137,oh23fd2 = 32'hfdffd42b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
function [31:0] gd17093;
input [31:0] value;
for (gd17093=0; value>0; gd17093=gd17093+1) value = value>>1;
endfunction
assign dvalid_out = qtc942b;
assign dz50ffc   = qtc942b;
assign gq87fe6 = qtc942b;
assign ukb61f1 = ldfcc10[0];
generate   if(DYNAMIC=="TRUE") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            qtd9d59    <= VINWIDTH-1;            ip75660 <= VINWIDTH-2;            me59824    <= VINHEIGHT-1;            cz60904    <= VOUTWIDTH-1;            ie24123    <= VOUTHEIGHT-1;            vk48ca     <= VSFACTOR;            ux23299     <= HSFACTOR;         end else if(os771f5) begin            if(lsb8fa9) begin               qtd9d59    <= VINWIDTH-1;               ip75660 <= VINWIDTH-2;               me59824    <= VINHEIGHT-1;               cz60904    <= VOUTWIDTH-1;               ie24123    <= VOUTHEIGHT-1;               vk48ca     <= VSFACTOR;               ux23299     <= HSFACTOR;            end else if(bydf2b9 && ykdbe57) begin               qtd9d59    <= je1a5d;               ip75660 <= je1a5d-1;               me59824    <= and2eb;               cz60904    <= fa6975c;               ie24123    <= of4bae3;               vk48ca     <= ne5d71c;               ux23299     <= rgeb8e3;            end         end      end      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            fwidth_out  <= VOUTWIDTH-1;            fheight_out <= VOUTHEIGHT-1;         end else if(os771f5) begin            if(lsb8fa9) begin               fwidth_out  <= VOUTWIDTH-1;               fheight_out <= VOUTHEIGHT-1;            end else if(KERNEL=="NEAREST") begin               if(an33250[0]) begin                  fwidth_out  <= lsa8869;                  fheight_out <= wy21a54;               end            end else begin               if(zx7b7ca && hb7409d && vk1eb95==50) begin                   fwidth_out  <= lsa8869;                  fheight_out <= wy21a54;               end            end         end      end   end else begin      always @(posedge clk or negedge rstn) begin         qtd9d59    <= VINWIDTH-1;         ip75660 <= VINWIDTH-2;         me59824    <= VINHEIGHT-1;         cz60904    <= VOUTWIDTH-1;         ie24123    <= VOUTHEIGHT-1;         vk48ca     <= VSFACTOR;         ux23299     <= HSFACTOR;      end      always @(posedge clk or negedge rstn) begin         fwidth_out  <= VOUTWIDTH-1;         fheight_out <= VOUTHEIGHT-1;      end   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      uxa18cd <= {tj81531{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         uxa18cd <= {tj81531{1'b0}};      end else if(ykdbe57) begin         uxa18cd <= (qi87c88>1) ? 1 : {tj81531{1'b0}};      end else if(zx7b7ca) begin         if(epae813==qi87c88-1) begin            uxa18cd <= {tj81531{1'b0}};         end else begin            uxa18cd <= epae813 + 1;         end      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      xl19b32 <= {tj81531{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         xl19b32 <= {tj81531{1'b0}};      end else if(ykdbe57) begin         xl19b32 <= {tj81531{1'b0}};      end else if(yz90b69 || (vk86ba0 && ic4cb8a)) begin         if(kf2777==qi87c88-1) begin            xl19b32 <= {tj81531{1'b0}};         end else begin            xl19b32 <= kf2777 + 1;         end      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      lq665ba <= {tj81531{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         lq665ba <= {tj81531{1'b0}};      end else if(ykdbe57) begin         lq665ba <= {tj81531{1'b0}};      end else if(yz90b69 || wj65c51) begin         if(jceef78==qi87c88-1) begin            lq665ba <= {tj81531{1'b0}};         end else begin            lq665ba <= jceef78 + 1;         end      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      pub74b3 <= {tj81531{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         pub74b3 <= {tj81531{1'b0}};      end else if(ykdbe57) begin         pub74b3 <= {tj81531{1'b0}};      end else if(ks2e28c) begin         if(goef0c3==qi87c88-1) begin            pub74b3 <= {tj81531{1'b0}};         end else begin            pub74b3 <= goef0c3 + 1;         end      end   end
end
assign xlc66c   = (qi87c88==1) ? 1'b1 : (  epae813==qi87c88-1);
assign rtcd996 = (qi87c88==1) ? 1'b1 : (kf2777==qi87c88-1);
assign db32dd2 = (qi87c88==1) ? 1'b1 : (jceef78==qi87c88-1);
assign vxba59b  = (qi87c88==1) ? 1'b1 : ( goef0c3==qi87c88-1);
generate   if(VFTAPS==1) begin       always @(clk) begin         kd4baa1 <= 1'b1;      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            kd4baa1 <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               kd4baa1 <= 1'b0;            end else if(ykdbe57) begin               kd4baa1 <= 1'b0;            end else if(ay5c6d9 && ec21b19) begin               kd4baa1 <= 1'b0;            end else if(wj60b04 && (uxae559==(VFTAPS-en44982-2))) begin               kd4baa1 <= 1'b1;            end         end      end   end   if(HFTAPS==1) begin      always @(clk) begin         ho5d50c <= 1'b1;      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            ho5d50c <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               ho5d50c <= 1'b0;            end else if(ykdbe57) begin               ho5d50c <= 1'b0;            end else if(ay5c6d9 && ec21b19) begin               ho5d50c <= 1'b0;            end else if(yz90b69 && (kf95660==HFTAPS-ux260a8-2) && jr13bbd && (uxae559==(VFTAPS-en44982-1))) begin               ho5d50c <= 1'b1;            end         end      end   end   if(HFTAPS==1) begin      always @(clk) begin         uiea863 <= 1'b1;      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            uiea863 <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               uiea863 <= 1'b0;            end else if(ykdbe57) begin               uiea863 <= 1'b0;            end else if(pu2571b && mre21ae) begin               uiea863 <= 1'b1;            end else if(ay5c6d9) begin               uiea863 <= 1'b0;            end         end      end   end   assign vve3fe7 = yz90b69 && jr13bbd && (kf95660==HFTAPS-ux260a8-2);
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      thd8541 <= {lsa2e12{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         thd8541 <= {lsa2e12{1'b0}};      end else if(ykdbe57) begin         thd8541 <= (qi87c88==1) ? 1 : {lsa2e12{1'b0}};      end else if(zx7b7ca && hb7409d) begin         if(vk1eb95==yz292e2) begin            thd8541 <= {lsa2e12{1'b0}};         end else begin            thd8541 <= vk1eb95 + 1;         end      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      os67615 <= {thc24e2{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         os67615 <= {thc24e2{1'b0}};      end else if(ykdbe57) begin         os67615 <= {thc24e2{1'b0}};      end else if(zx7b7ca && (vk1eb95==yz292e2) && hb7409d) begin         if(do47ae==gbe2a21) begin            os67615 <= {thc24e2{1'b0}};         end else begin            os67615 <= do47ae + 1;         end      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      qi1507e <= {thc24e2{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         qi1507e <= {thc24e2{1'b0}};      end else if(ykdbe57) begin         qi1507e <= {thc24e2{1'b0}};      end else if((!mre21ae) || (mre21ae && do3fcc8)) begin         if(wj60b04 && (!ux85b4c)) begin            qi1507e <= uxae559 + 1;         end      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      kd41f8b <= {lsa2e12{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         kd41f8b <= {lsa2e12{1'b0}};      end else if(ykdbe57) begin         kd41f8b <= {lsa2e12{1'b0}};      end else if(yz90b69 && jr13bbd) begin         if(kf95660==yz292e2) begin            kd41f8b <= {lsa2e12{1'b0}};         end else begin            kd41f8b <= kf95660 + 1;         end      end   end
end
generate   if(qgf0181=="TRUE") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            gqfc5d <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               gqfc5d <= 1'b0;            end else if(ykdbe57) begin               gqfc5d <= 1'b0;            end else if(yz90b69 && jr13bbd) begin               if(kf95660==sh4b8a8) begin                  gqfc5d <= 1'b1;               end else begin                  gqfc5d <= 1'b0;               end            end         end      end      assign dz7e2e8 = qvab305;   end else begin      assign dz7e2e8 = (kf95660==yz292e2);   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      qv12e7e <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         qv12e7e <= 1'b0;      end else if(ykdbe57) begin         qv12e7e <= 1'b0;      end else if(wj60b04)begin         if(!mre21ae || (mre21ae && do3fcc8)) begin            qv12e7e <= 1'b0;         end      end else if(zx7b7ca && (vk1eb95==yz292e2) && hb7409d)begin         qv12e7e <= 1'b1;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      psebdd6 <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         psebdd6 <= 1'b0;      end else if(ep18a4b && sh4e42d && (!fa69971)) begin         if(lf2da65 || tucf621 || ux85b4c) begin            if(wj60b04) begin               psebdd6 <= 1'b0;            end else begin               psebdd6 <= 1'b1;            end                  end else if((nrd885f>bl5fc0a) && (tucf621==1'b0) && (ic4cb8a==1'b0)) begin            psebdd6 <= 1'b1;         end else begin            psebdd6 <= 1'b0;         end      end else begin         psebdd6 <= 1'b0;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      qt5eeb3 <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         qt5eeb3 <= 1'b0;      end else if(VFTAPS==1) begin         qt5eeb3 <= 1'b0;      end else if(ykdbe57) begin         qt5eeb3 <= 1'b0;      end else if(ay5c6d9 && ec21b19) begin         qt5eeb3 <= 1'b0;      end else if(wj60b04 && (uxae559==gbe2a21) && do3fcc8) begin         qt5eeb3 <= 1'b1;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      czd676e <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         czd676e <= 1'b0;      end else if(HFTAPS==1) begin         czd676e <= 1'b0;      end else if(ykdbe57) begin         czd676e <= 1'b0;      end else if(ay5c6d9) begin         czd676e <= 1'b0;      end else if(mre21ae && wj60b04) begin         czd676e <= 1'b1;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ymb3b74 <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         ymb3b74 <= 1'b0;      end else if(HFTAPS==1) begin         ymb3b74 <= 1'b0;      end else if(ykdbe57) begin         ymb3b74 <= 1'b0;      end else if(ie10d74 && sh4e42d && (wj60b04 || fa69971)) begin         ymb3b74 <= 1'b1;      end else begin         ymb3b74 <= 1'b0;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      dz74027 <= 1'b1;   end else if(os771f5) begin      if(lsb8fa9) begin         dz74027 <= 1'b1;      end else if(ykdbe57 || ay5c6d9) begin         dz74027 <= 1'b1;                  end else if(ks2e28c && qg78618) begin         dz74027 <= (kqce070==(ls4ae3));      end else if(ea6d32e && jr13bbd) begin         dz74027 <= (th6b381==(ls4ae3));      end   end
end
assign mg9f7    = (yz80c08=="TRUE") ? sj8a306 : (th6b381==shf812b);
assign dbbaced   = vk86ba0 && (yz90b69 || ic4cb8a);
assign ie9dba0 = vk86ba0 && (ea6d32e || zx71460) && sh7033b;
assign aledd00       = ((ea6d32e && tw8c1ac) || zx71460);
generate   if(VFTAPS==1) begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            nefb3d8 <= 1'b1;         end else if(os771f5) begin            if(lsb8fa9) begin               nefb3d8 <= 1'b1;            end else if(ykdbe57) begin               nefb3d8 <= 1'b1;            end else if(ay5c6d9) begin               nefb3d8 <= 1'b1;            end else if(medb272) begin               nefb3d8 <= 1'b0;            end         end      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            nefb3d8 <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               nefb3d8 <= 1'b0;            end else if(ykdbe57) begin               nefb3d8 <= 1'b0;            end else if(pu2571b && mre21ae) begin               nefb3d8 <= 1'b1;            end else if(medb272) begin               nefb3d8 <= 1'b0;            end         end      end   end   if(VFTAPS==1) begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            aa1f67b <= 1'b1;         end else if(os771f5) begin            if(lsb8fa9) begin               aa1f67b <= 1'b1;            end else if(ykdbe57) begin               aa1f67b <= 1'b1;            end else if(wj60b04 && ym24363) begin               aa1f67b <= 1'b1;            end else if(wj60b04 && oh9f886) begin               aa1f67b <= 1'b0;            end         end      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            aa1f67b <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               aa1f67b <= 1'b0;            end else if(ykdbe57) begin               aa1f67b <= 1'b0;            end else if(wj60b04 && (uxae559==(VFTAPS-en44982-2))) begin               aa1f67b <= 1'b1;            end else if(wj60b04 && oh9f886) begin               aa1f67b <= 1'b0;            end         end      end   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      zza013e <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         zza013e <= 1'b0;      end else  begin         zza013e <= (vv5aff0==mr6090d);      end   end
end
assign xy4fb9 = (yz80c08=="TRUE") ? yx51835 : (vv5aff0==mr6090d);
assign fcbd0fc = (mre21ae && wj60b04 && cz60d62);
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      xje3503 <= {VFCWIDTH{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         xje3503 <= {VFCWIDTH{1'b0}};      end else if(ykdbe57) begin         xje3503 <= {VFCWIDTH{1'b0}};      end else if(je9909f) begin         xje3503 <= tu6c645 + xw69504;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ead40f1 <= VSFACTOR;   end else if(os771f5) begin      if(lsb8fa9) begin         ead40f1 <= VSFACTOR;      end else if(bydf2b9 && ykdbe57) begin         ead40f1 <= ne5d71c;      end else if(ykdbe57) begin         ead40f1 <= xw69504;      end else if(je9909f) begin         ead40f1 <= fp1915a + xw69504;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      jr3c4f <= VSFACTOR<<1;   end else if(os771f5) begin      if(lsb8fa9) begin         jr3c4f <= VSFACTOR<<1;      end else if(bydf2b9 && ykdbe57) begin         jr3c4f <= ne5d71c<<1;      end else if(ykdbe57) begin         jr3c4f <= xw69504<<1;      end else if(je9909f) begin         jr3c4f <= pf456bf + xw69504;      end   end
end
assign me43f15    = tu6c645[VFCBPWIDTH-1:VFCBPWIDTH-ene2db5];
assign zkf13f2       = tu6c645[VFCWIDTH-1:VFCBPWIDTH];
generate   if(qgf0181=="TRUE") begin      assign rt4fc93  = fp1915a [VFCWIDTH-1:VFCBPWIDTH];      assign ipf24f7 = pf456bf[VFCWIDTH-1:VFCBPWIDTH];   end else begin      assign rt4fc93  = ((tu6c645 + xw69504     )>>VFCBPWIDTH);      assign ipf24f7 = ((tu6c645 + (xw69504<<1))>>VFCBPWIDTH);   end
endgenerate
generate   if(qgf0181=="TRUE") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            ou927bd <= ((VSFACTOR>>VFCBPWIDTH)!=0);         end else if(os771f5) begin            if(lsb8fa9) begin               ou927bd <= ((VSFACTOR>>VFCBPWIDTH)!=0);            end else if(bydf2b9 && ykdbe57) begin               ou927bd <= ((ne5d71c>>VFCBPWIDTH)!=0);            end else if(ykdbe57) begin               ou927bd <= ((xw69504>>VFCBPWIDTH)!=0);            end else if(je9909f) begin               ou927bd <= (dbbfc3f != osf0ff3);            end         end      end      assign ri93de8  = ks87f99;      assign vx9ef43 = !ks87f99;   end else begin      assign ri93de8  = (vv5aff0!=dbbfc3f);      assign vx9ef43 = (vv5aff0==dbbfc3f);   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      hbd871f <= {lsa2e12{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         hbd871f <= {lsa2e12{1'b0}};      end else if(ykdbe57) begin         hbd871f <= {lsa2e12{1'b0}};      end else if(ay5c6d9) begin         hbd871f <= {lsa2e12{1'b0}};      end else if(wj65c51 && su77bc3 && ie10d74) begin         hbd871f <= shf812b + 1;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      xl1c7fc <= 1;   end else if(os771f5) begin      if(lsb8fa9) begin         xl1c7fc <= 1;      end else if(ykdbe57) begin         xl1c7fc <= 1;      end else if(ay5c6d9) begin         xl1c7fc <= 1;      end else if(wj65c51 && su77bc3 && ie10d74) begin         xl1c7fc <= ls4ae3 + 1;      end   end
end
generate   if(qgf0181=="TRUE") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            faf1747 <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               faf1747 <= 1'b0;            end else if(ykdbe57) begin               faf1747 <= 1'b0;            end else if(yz90b69 && jr13bbd && (kf95660==sh4b8a8)) begin               faf1747 <= 1'b1;            end else if(yz90b69 && jr13bbd) begin               faf1747 <= 1'b0;            end         end      end      assign ph8ba3a  = yz90b69 && czcc160 && jr13bbd;   end else begin      assign ph8ba3a  = yz90b69 && (kf95660==yz292e2) && jr13bbd;   end   if(qgf0181=="TRUE") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            gq1ff3f <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               gq1ff3f <= 1'b0;            end else if(ykdbe57) begin               gq1ff3f <= 1'b0;            end else if(wj65c51  && su77bc3 && (shf812b==sh4b8a8) && ie10d74) begin               gq1ff3f <= 1'b1;            end else if(wj65c51 && su77bc3 && ie10d74) begin               gq1ff3f <= 1'b0;            end         end      end      assign meff9f9  = wj65c51 && ks2b8db && su77bc3;   end else begin      assign meff9f9  = wj65c51 && (shf812b==yz292e2) && su77bc3;   end
endgenerate
assign rg63ecf = ks2e28c && qg78618 && vk86ba0;
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      fp9bfd1 <= {HFCWIDTH{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         fp9bfd1 <= {HFCWIDTH{1'b0}};      end else if(ykdbe57) begin         fp9bfd1 <= {HFCWIDTH{1'b0}};      end else if(ay5c6d9) begin         fp9bfd1 <= {HFCWIDTH{1'b0}};      end else if(xlcee7) begin         fp9bfd1 <= yz1816d + en5411e;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      eaff47b <= HSFACTOR;   end else if(os771f5) begin      if(lsb8fa9) begin         eaff47b <= HSFACTOR;      end else if(bydf2b9 && ykdbe57) begin         eaff47b <= rgeb8e3;      end else if(ykdbe57) begin         eaff47b <= en5411e;      end else if(ay5c6d9) begin         eaff47b <= en5411e;      end else if(xlcee7) begin         eaff47b <= mg5b6b + en5411e;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ykd1ec9 <= (HSFACTOR<<1);   end else if(os771f5) begin      if(lsb8fa9) begin         ykd1ec9 <= (HSFACTOR<<1);      end else if(bydf2b9 && ykdbe57) begin         ykd1ec9 <= (rgeb8e3<<1);      end else if(ykdbe57) begin         ykd1ec9 <= (en5411e<<1);      end else if(ay5c6d9) begin         ykd1ec9 <= (en5411e<<1);      end else if(xlcee7) begin         ykd1ec9 <= me6dace + en5411e;      end   end
end
assign pf7b245 = yz1816d[HFCWIDTH-1:HFCBPWIDTH];
generate   if(qgf0181=="TRUE") begin      assign czc917d  = mg5b6b [HFCWIDTH-1:HFCBPWIDTH];      assign xj45f63 = me6dace[HFCWIDTH-1:HFCBPWIDTH];   end else begin      assign czc917d  = ((yz1816d + en5411e     )>>HFCBPWIDTH);      assign xj45f63 = ((yz1816d + (en5411e<<1))>>HFCBPWIDTH);   end
endgenerate
generate   if(qgf0181=="TRUE") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            hq2fb1f <= ((HSFACTOR>>HFCBPWIDTH)!=0);         end else if(os771f5) begin            if(lsb8fa9) begin               hq2fb1f <= ((HSFACTOR>>HFCBPWIDTH)!=0);            end else if(bydf2b9 && ykdbe57) begin               hq2fb1f <= ((rgeb8e3>>HFCBPWIDTH)!=0);            end else if(ykdbe57) begin               hq2fb1f <= ((en5411e>>HFCBPWIDTH)!=0);            end else if(ay5c6d9) begin               hq2fb1f <= ((en5411e>>HFCBPWIDTH)!=0);            end else if(xlcee7) begin               hq2fb1f <= (kqce070 != tj81c0c);            end         end      end      assign cm7d8fb  = bae067;      assign zxec7d9 = !bae067;   end else begin      assign cm7d8fb  = (th6b381!=kqce070);      assign zxec7d9 = (th6b381==kqce070);   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      xj6e804 <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         xj6e804 <= 1'b0;      end else if(ykdbe57) begin         xj6e804 <= 1'b0;      end else if(vk86ba0) begin         if(ea6d32e && (kqce070==shf812b) && jr13bbd) begin            xj6e804 <= 1'b1;         end else if(sh7033b && qg78618) begin            xj6e804 <= 1'b0;         end      end else begin         xj6e804 <= 1'b0;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      pfc8f5e <= {fc9c5e3{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         pfc8f5e <= {fc9c5e3{1'b0}};      end else if(ykdbe57) begin         pfc8f5e <= {fc9c5e3{1'b0}};      end else if(ks2e28c && qg78618 && sw3b9f8) begin         if(ofc9c85==lsa8869) begin            pfc8f5e <= {fc9c5e3{1'b0}};         end else begin            pfc8f5e <= ofc9c85 + 1;         end      end   end
end
generate   if(qgf0181=="TRUE") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            kde7e47 <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               kde7e47 <= 1'b0;            end else if(ykdbe57) begin               kde7e47 <= 1'b0;            end else if(ks2e28c && qg78618 && (ofc9c85==lsa8869-1)) begin               kde7e47 <= 1'b1;            end else if(ks2e28c && qg78618) begin               kde7e47 <= 1'b0;            end         end      end      assign xy3f23d  = ks2e28c && ng1b64e && qg78618;   end else begin      assign xy3f23d  = ks2e28c && (ofc9c85==lsa8869) && qg78618;   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      by4759c <= {icea3f5{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         by4759c <= {icea3f5{1'b0}};      end else if(ykdbe57) begin         by4759c <= {icea3f5{1'b0}};      end else if(mre21ae && wj60b04 && do3fcc8) begin         by4759c <= mr6090d + 1;      end   end
end
generate   if(qgf0181=="TRUE") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            ng3ace3 <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               ng3ace3 <= 1'b0;            end else if(ykdbe57) begin               ng3ace3 <= 1'b0;            end else if(mre21ae && wj60b04 && do3fcc8) begin               if(mr6090d==gbe2a21-1) begin                  ng3ace3 <= 1'b1;               end else begin                  ng3ace3 <= 1'b0;               end            end         end      end      assign end671a = je486c && do3fcc8;   end else begin      assign end671a = (mr6090d==gbe2a21) && do3fcc8;   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      uv41d4b <= {fc9c5e3{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         uv41d4b <= {aabc6ed{1'b0}};      end else if(ykdbe57) begin         uv41d4b <= {aabc6ed{1'b0}};      end else if(wj60b04  && (vv5aff0==mr6090d) && mre21ae) begin         uv41d4b <= cmde7e2 + 1;      end   end
end
generate   if(qgf0181=="TRUE") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            jeea5d <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               jeea5d <= 1'b0;            end else if(ykdbe57) begin               jeea5d <= 1'b0;            end else if(wj60b04  && (vv5aff0==mr6090d) && mre21ae) begin               if(cmde7e2==wy21a54-1) begin                  jeea5d <= 1'b1;               end else begin                  jeea5d <= 1'b0;               end            end         end      end      assign al752ea = fnf3f10 && (vv5aff0==mr6090d);   end else begin      assign al752ea = (cmde7e2==wy21a54) && (vv5aff0==mr6090d);   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      yma9754 <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         yma9754 <= 1'b0;      end else if(ykdbe57) begin         yma9754 <= 1'b0;      end else if(medb272) begin         yma9754 <= oh9f886;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      oub38d4 <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         oub38d4 <= 1'b0;      end else if(ykdbe57) begin         oub38d4 <= 1'b0;      end else if(ay5c6d9) begin         oub38d4 <= ym24363;      end   end
end
always @(*) begin   if(!vk86ba0) begin      zk47af7 = 1'b1;   end else if(ph819dc) begin      zk47af7 = !(ea6d32e&&jr13bbd) && jr6b14;   end else begin      zk47af7 = (qi87c88==1) ? 1'b1 : ww7216d;   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ou3ee5f <= 1'b1;   end else if(os771f5) begin      if(lsb8fa9) begin         ou3ee5f <= 1'b1;      end else if(ykdbe57) begin         ou3ee5f <= 1'b1;      end else if(vk86ba0) begin         if(ks2e28c && (tj81c0c != th6b381) && qg78618) begin            ou3ee5f <= 1'b1;         end else if(ea6d32e && jr13bbd && jr6b14) begin            ou3ee5f <= 1'b0;         end      end else begin         ou3ee5f <= 1'b1;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      vx3d7ba <= 1'b1;   end else if(os771f5) begin      if(lsb8fa9) begin         vx3d7ba <= 1'b1;      end else if(ykdbe57) begin         vx3d7ba <= 1'b1;      end else if(ks2e28c && (goef0c3==qi87c88-2)) begin         if(ph819dc) begin            vx3d7ba <= 1'b0;         end else begin            vx3d7ba <= 1'b1;         end      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      mrf72f8 <= 1'b1;   end else if(os771f5) begin      if(lsb8fa9) begin         mrf72f8 <= 1'b1;      end else if(ykdbe57) begin         mrf72f8 <= 1'b1;      end else if(ie10d74) begin         if(ay5c6d9 && rtf3213) begin            mrf72f8 <= 1'b1;         end else if(zx7b7ca && (vk1eb95==yz292e2) && hb7409d) begin            mrf72f8 <= 1'b0;         end      end else begin         mrf72f8 <= 1'b1;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ukb97c5 <= 1'b1;   end else if(os771f5) begin      if(lsb8fa9) begin         ukb97c5 <= 1'b1;      end else if(ykdbe57) begin         ukb97c5 <= 1'b1;      end else if(wj60b04 && ym24363) begin         ukb97c5 <= 1'b0;      end else if(oua664a) begin         ukb97c5 <= 1'b1;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      gocbe28 <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         gocbe28 <= 1'b0;      end else if(zx7b7ca && (vk1eb95==sh4b8a8) && (qi87c88==1)) begin         gocbe28 <= 1'b1;      end else if(zx7b7ca && (vk1eb95==yz292e2) && (epae813==qi87c88-2) && (qi87c88>1)) begin         gocbe28 <= 1'b1;      end else if(zx7b7ca) begin         gocbe28 <= 1'b0;      end   end
end
always @(*) begin   if(go62999) begin      ready = !zx7b7ca;   end else begin      ready = vk358a6 && (!ux85b4c);   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      dz5f140 <= 1'b0;   end else if(os771f5)begin      if(lsb8fa9) begin         dz5f140 <= 1'b0;      end else begin         dz5f140 <= medb272 && blfc435;      end   end
end
pmi_distributed_shift_reg  #( .pmi_data_width      (1             ),                              .pmi_regmode         ("reg"         ),                              .pmi_shiftreg_type   ("fixed"       ),                              .pmi_num_shift       (rv6045-1),                              .pmi_num_width       (ls3022f       ),                                                            .pmi_max_shift       (rv6045-1),                              .pmi_max_width       (ls3022f       ),                                                            .pmi_init_file       ("none"        ),                              .pmi_init_file_format("binary"      ),                              .pmi_family          (FAMILY        ),                              .module_type         ("pmi_distributed_shift_reg"))
ri1b037                   ( .Din      (dz5f140  ),                              .Addr     ({ls3022f{1'b0}} ),                              .Clock    (clk             ),                              .ClockEn  (ce              ),                              .Reset    (~rstn || sr     ),                              .Q        (mrf8a06    ));
generate   if(HFTAPS==1) begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            enf7a1f <= 1'b1;         end else if(os771f5) begin            if(lsb8fa9) begin               enf7a1f <= 1'b1;            end else if(ykdbe57) begin               enf7a1f <= 1'b1;            end else if(yz90b69 && (kf95660==sh4b8a8) && jr13bbd) begin                enf7a1f <= do3fcc8;            end         end      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            enf7a1f <= 1'b1;         end else if(os771f5) begin            if(lsb8fa9) begin               enf7a1f <= 1'b1;            end else if(ykdbe57) begin               enf7a1f <= 1'b1;            end else if(wj60b04) begin                enf7a1f <= do3fcc8;            end         end      end   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      qtf759d <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         qtf759d <= 1'b0;      end else if(ykdbe57) begin         qtf759d <= 1'b0;      end else if(medb272 && blfc435) begin         qtf759d <= 1'b0;      end else if(mre21ae && wj60b04) begin         if(dbbfc3f==vv5aff0) begin            qtf759d <= 1'b1;         end else begin            qtf759d <= 1'b0;         end      end   end
end
always @(*) begin   ipd9ec3 = kq6773f && (vv5aff0==mr6090d);
end
generate   if(HFTAPS==1) begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            vi5d1d6 <= 1'b1;            xjfcfc8 <= 1'b1;         end else if(os771f5) begin            if(lsb8fa9) begin               vi5d1d6 <= 1'b1;               xjfcfc8 <= 1'b1;            end else begin               vi5d1d6 <= wj60b04;               xjfcfc8 <= ay5c6d9;            end         end      end      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            zkcf61c <= 1'b1;         end else if(os771f5) begin            if(lsb8fa9) begin               zkcf61c <= 1'b1;            end else if(ykdbe57) begin               zkcf61c <= 1'b1;            end else if(!wj60b04 && ay5c6d9) begin                zkcf61c <= shdcfc0;            end else if(ks5824 && the36c9) begin                zkcf61c <= shdcfc0;            end         end      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            zkcf61c <= 1'b1;         end else if(os771f5) begin            if(lsb8fa9) begin               zkcf61c <= 1'b1;            end else if(ykdbe57) begin               zkcf61c <= 1'b1;            end else if(ay5c6d9) begin                zkcf61c <= shdcfc0;            end         end      end   end
endgenerate
generate   if(SHARE_CMEM=="TRUE") begin      assign dout        = kf8a15;      assign ie989f8        = db2856e;      assign frmsync_out = (LBUFFER=="EBR") ? an33250[3] : an33250[2];      assign nr40d57 = (LBUFFER=="EBR") ? do99285[3] : do99285[2];      assign ldfcc10  = (LBUFFER=="EBR") ? {co15bba,ea7d2b6[3][7:0]} : {co15bba,ea7d2b6[2][7:0]};   end else begin      assign dout        = ipe7d08;      assign ie989f8        = zkf4228;      assign frmsync_out = (LBUFFER=="EBR") ? an33250[2] : an33250[1];      assign nr40d57 = (LBUFFER=="EBR") ? do99285[2] : do99285[1];      assign ldfcc10  = (LBUFFER=="EBR") ? ea7d2b6[2]      : ea7d2b6[1];   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      zkc5035[0] <= 1'b0;      zkc5035[1] <= 1'b0;      zkc5035[2] <= 1'b0;      zkc5035[3] <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         zkc5035[0] <= 1'b0;         zkc5035[1] <= 1'b0;         zkc5035[2] <= 1'b0;         zkc5035[3] <= 1'b0;      end else begin         zkc5035[0] <= (ks2e28c && (cmde7e2==0) && (ofc9c85==0) && (goef0c3==0) && sw3b9f8 && cze7e04 && kq6773f);         zkc5035[1] <= an33250[0];         zkc5035[2] <= an33250[1];         zkc5035[3] <= an33250[2];      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      vx281aa[0] <= 1'b0;      vx281aa[1] <= 1'b0;      vx281aa[2] <= 1'b0;      vx281aa[3] <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         vx281aa[0] <= 1'b0;         vx281aa[1] <= 1'b0;         vx281aa[2] <= 1'b0;         vx281aa[3] <= 1'b0;      end else begin         vx281aa[0] <= mre21ae && (yz90b69 || (vk86ba0 && ic4cb8a));         vx281aa[1] <= do99285[0];         vx281aa[2] <= do99285[1];         vx281aa[3] <= do99285[2];      end   end
end
assign zm966ff   = yz1816d[HFCBPWIDTH-1:HFCBPWIDTH-aab6b78];
assign dmc524b    = (shf812b<ux260a8);
assign an2925a    = (shf812b>=(yz292e2-uv4440a));
assign yk492d5    = (shf812b==(yz292e2-uv4440a));
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ea7d2b6[0] <= {uiea1f0{1'b0}};      ea7d2b6[1] <= {uiea1f0{1'b0}};      ea7d2b6[2] <= {uiea1f0{1'b0}};      ea7d2b6[3] <= {uiea1f0{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         ea7d2b6[0] <= {uiea1f0{1'b0}};         ea7d2b6[1] <= {uiea1f0{1'b0}};         ea7d2b6[2] <= {uiea1f0{1'b0}};         ea7d2b6[3] <= {uiea1f0{1'b0}};      end else begin         ea7d2b6[0] <= {wl18605,vk86ba0&ic4cb8a,ou15d50,sjaea80,of75405,vk86ba0,ay5c6d9,wj65c51&ie10d74,ks2e28c&sw3b9f8&cze7e04};         ea7d2b6[1] <= ea7d2b6[0];         ea7d2b6[2] <= ea7d2b6[1];         ea7d2b6[3] <= ea7d2b6[2];      end   end
end
generate   if(en44982==0) begin       always @(posedge clk or negedge rstn) begin         if(!rstn) begin            me53e01[0] <= {VFTAPS{1'b0}};            me53e01[1] <= {VFTAPS{1'b0}};            me53e01[2] <= {VFTAPS{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               me53e01[0] <= {VFTAPS{1'b0}};               me53e01[1] <= {VFTAPS{1'b0}};               me53e01[2] <= {VFTAPS{1'b0}};            end else begin               if(ykdbe57) begin                  me53e01[0] <= {VFTAPS{1'b0}};               end else if(mre21ae && wj60b04 && do3fcc8 && (mr6090d<en44982)) begin                  me53e01[0] <= me53e01[0]<<1;               end               me53e01[1] <= me53e01[0];               me53e01[2] <= me53e01[1];            end         end      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            me53e01[0] <= {{en44982{1'b1}},{(VFTAPS-en44982){1'b0}}};            me53e01[1] <= {{en44982{1'b1}},{(VFTAPS-en44982){1'b0}}};            me53e01[2] <= {{en44982{1'b1}},{(VFTAPS-en44982){1'b0}}};         end else if(os771f5) begin            if(lsb8fa9) begin               me53e01[0] <= {{en44982{1'b1}},{(VFTAPS-en44982){1'b0}}};               me53e01[1] <= {{en44982{1'b1}},{(VFTAPS-en44982){1'b0}}};               me53e01[2] <= {{en44982{1'b1}},{(VFTAPS-en44982){1'b0}}};            end else begin               if(ykdbe57) begin                  me53e01[0] <= {{en44982{1'b1}},{(VFTAPS-en44982){1'b0}}};               end else if(mre21ae && wj60b04 && do3fcc8 && (mr6090d<en44982)) begin                  me53e01[0] <= me53e01[0]<<1;               end               me53e01[1] <= me53e01[0];               me53e01[2] <= me53e01[1];            end         end      end   end
endgenerate
generate   if(VFTAPS==1) begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            kdf804c[0] <= {VFTAPS{1'b0}};            kdf804c[1] <= {VFTAPS{1'b0}};            kdf804c[2] <= {VFTAPS{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               kdf804c[0] <= {VFTAPS{1'b0}};               kdf804c[1] <= {VFTAPS{1'b0}};               kdf804c[2] <= {VFTAPS{1'b0}};            end         end      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            kdf804c[0] <= {VFTAPS{1'b0}};            kdf804c[1] <= {VFTAPS{1'b0}};            kdf804c[2] <= {VFTAPS{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               kdf804c[0] <= {VFTAPS{1'b0}};               kdf804c[1] <= {VFTAPS{1'b0}};               kdf804c[2] <= {VFTAPS{1'b0}};            end else begin               if(ykdbe57) begin                  kdf804c[0] <= {VFTAPS{1'b0}};               end else if(mre21ae && wj60b04 && do3fcc8) begin                  if(mr6090d>=(gbe2a21-ks82a22)) begin                     kdf804c[0] <= {kdf804c[0][VFTAPS-2:0],1'b1};                  end else begin                     kdf804c[0] <= {VFTAPS{1'b0}};                  end               end               kdf804c[1] <= kdf804c[0];               kdf804c[2] <= kdf804c[1];            end         end      end   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      wy87c4f[0] <= {co31c20{1'b0}};      wy87c4f[1] <= {co31c20{1'b0}};      wy87c4f[2] <= {co31c20{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         wy87c4f[0] <= {co31c20{1'b0}};         wy87c4f[1] <= {co31c20{1'b0}};         wy87c4f[2] <= {co31c20{1'b0}};      end else begin         if(ykdbe57) begin            wy87c4f[0] <= {co31c20{1'b0}};         end else if(mre21ae && wj60b04 && do3fcc8) begin            wy87c4f[0] <= wy87c4f[0] + 1;         end         wy87c4f[1] <= wy87c4f[0];         wy87c4f[2] <= wy87c4f[1];      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      fn4f053[0] <= {tw203ee{1'b0}};      fn4f053[1] <= {tw203ee{1'b0}};      fn4f053[2] <= {tw203ee{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         fn4f053[0] <= {tw203ee{1'b0}};         fn4f053[1] <= {tw203ee{1'b0}};         fn4f053[2] <= {tw203ee{1'b0}};      end else begin         if(mre21ae && wj60b04 && do3fcc8) begin            if(mr6090d==(gbe2a21-ks82a22))               fn4f053[0] <= {tw203ee{1'b0}};            else               fn4f053[0] <= fn4f053[0] + 1;         end         fn4f053[1] <= fn4f053[0];         fn4f053[2] <= fn4f053[1];      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ri9c106[0] <= 1'b0;      ri9c106[1] <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         ri9c106[0] <= 1'b0;         ri9c106[1] <= 1'b0;      end else begin         ri9c106[0] <= yz90b69;         ri9c106[1] <= cb8573e[0];      end   end
end
generate   for(cbaee3e=VFTAPS-1-en44982;cbaee3e<VFTAPS;cbaee3e=cbaee3e+1) begin : wwf5331      assign rt644b9[cbaee3e] = (LBUFFER=="EBR") ?    me53e01[2][cbaee3e] :    me53e01[1][cbaee3e];   end   for(cbaee3e=0;cbaee3e<ks82a22;cbaee3e=cbaee3e+1) begin : bn91f7f      assign rt644b9[cbaee3e] = (LBUFFER=="EBR") ? kdf804c[2][cbaee3e] : kdf804c[1][cbaee3e];   end   if(EDGEMODE=="VALUE") begin      for(cbaee3e=0;cbaee3e<VFTAPS;cbaee3e=cbaee3e+1) begin : su78166         assign pu1322[cbaee3e] = EDGEVALUE;      end   end else if(EDGEMODE=="COPY") begin      assign lqf13c1 = (LBUFFER=="EBR") ? wy87c4f[2] : wy87c4f[1];      assign wwc14f8 = (LBUFFER=="EBR") ? fn4f053[2] : fn4f053[1];      for(cbaee3e=0;cbaee3e<VFTAPS;cbaee3e=cbaee3e+1) begin : kqfaca8         assign pu1322[cbaee3e] = (cbaee3e<ks82a22) ? bl7ea0a[hod05cf+1] : bl7ea0a[VFTAPS-1-en44982+os77417];      end   end else if(EDGEMODE=="MIRROR") begin      assign lqf13c1 = (LBUFFER=="EBR") ? wy87c4f[2] : wy87c4f[1];      assign wwc14f8 = (LBUFFER=="EBR") ? fn4f053[2] : fn4f053[1];      for(cbaee3e=0;cbaee3e<VFTAPS;cbaee3e=cbaee3e+1) begin : by66105         assign pu1322[cbaee3e] = (cbaee3e<ks82a22) ? bl7ea0a[(hod05cf<<1)+1-cbaee3e] : bl7ea0a[(ks82a22<<1)+1-cbaee3e+(os77417<<1)];      end   end   assign wwe0833 = (LBUFFER=="EBR") ? cb8573e[1] : cb8573e[0];   for(cbaee3e=0;cbaee3e<VFTAPS;cbaee3e=cbaee3e+1) begin : eade3a5      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            ykde704[cbaee3e] <= {DWIDTH{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               ykde704[cbaee3e] <= {DWIDTH{1'b0}};            end else if(qi2b9f4) begin               ykde704[cbaee3e] <= (an173d8[cbaee3e]==1'b1) ? pu1322[cbaee3e] : bl7ea0a[cbaee3e];            end         end      end      assign ls20cc2[(cbaee3e+1)*DWIDTH-1:cbaee3e*DWIDTH] = ykde704[cbaee3e];      assign ld4ad87[cbaee3e] = dout[(cbaee3e+1)*DWIDTH-1:cbaee3e*DWIDTH];   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      fpb0700[0] <= 1'b0;      fpb0700[1] <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         fpb0700[0] <= 1'b0;         fpb0700[1] <= 1'b0;      end else begin         fpb0700[0] <= yz90b69 && (!mre21ae || (mre21ae&&do3fcc8));         fpb0700[1] <= zkfe057[0];      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ww560e0 <= 1;   end else if(os771f5) begin      if(lsb8fa9) begin         ww560e0 <= 1;      end else if(ykdbe57) begin         ww560e0 <= 1;      end else if(yz90b69 && su5982c && jr13bbd) begin         ww560e0 <= 1;      end else if(yz90b69) begin         ww560e0 <= bl5fc0a + 1;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ip41583 <= {oh7503{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         ip41583 <= {oh7503{1'b0}};      end else if(ykdbe57) begin         ip41583 <= {oh7503{1'b0}};      end else if(yz90b69 && su5982c && jr13bbd) begin         ip41583 <= {oh7503{1'b0}};      end else if(yz90b69) begin         ip41583 <= sw217f0 + 1;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      db1c032[0] <= {oh7503{1'b0}};      db1c032[1] <= {oh7503{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         db1c032[0] <= {oh7503{1'b0}};         db1c032[1] <= {oh7503{1'b0}};      end else begin         db1c032[0] <= sw217f0;         db1c032[1] <= db1c032[0];      end   end
end
generate
begin : bl5f035   always @(posedge clk or negedge rstn) begin      if(!rstn) begin         ksb9fa8 <= {oh7503{1'b0}};      end else if(os771f5) begin         if(lsb8fa9) begin            ksb9fa8 <= {oh7503{1'b0}};         end else if(ykdbe57) begin            ksb9fa8 <= 1;         end else if(zx7b7ca) begin            if(vk1eb95==yz292e2 && hb7409d) begin               ksb9fa8 <= {oh7503{1'b0}};            end else begin               ksb9fa8 <= nrd885f + 1;            end         end      end   end   for(cbaee3e=0;cbaee3e<VFTAPS;cbaee3e=cbaee3e+1) begin : db3762f      assign  bl7ea0a[cbaee3e] = sw9727e[cbaee3e];   end   assign cocb9[0] = of5e00c;   assign db225cf    = zx7b7ca;   for(cbaee3e=1;cbaee3e<VFTAPS;cbaee3e=cbaee3e+1) begin : kf9f851      assign  cocb9[cbaee3e] = sw9727e[cbaee3e-1];   end   assign  yxc9f80 = (LBUFFER=="EBR") ?    zkfe057[1] : zkfe057[0];   assign th7e02e = (LBUFFER=="EBR") ? db1c032[1] : db1c032[0];   assign qv80bb8 = sw217f0;   for(cbaee3e=0;cbaee3e<VFTAPS-1;cbaee3e=cbaee3e+1) begin : hb40bfd      assign uk2ee29[(cbaee3e+1)*DWIDTH-1:cbaee3e*DWIDTH] = cocb9[cbaee3e+1];      assign sw9727e[cbaee3e+1] = sw82baa[(cbaee3e+1)*DWIDTH-1:cbaee3e*DWIDTH];   end      if(LBUFFER=="EBR") begin : fn7b319      pmi_ram_dp   #(                      .pmi_wr_addr_depth   (gb6f03a         ),                     .pmi_wr_addr_width   (oh7503          ),                     .pmi_wr_data_width   (DWIDTH           ),                     .pmi_rd_addr_depth   (gb6f03a         ),                     .pmi_rd_addr_width   (oh7503          ),                     .pmi_rd_data_width   (DWIDTH           ),                     .pmi_regmode         ("reg"            ),                     .pmi_gsr             ("disable"        ),                     .pmi_resetmode       ("sync"           ),                     .pmi_init_file       ("none"           ),                     .pmi_init_file_format("binary"         ),                     .pmi_family          (FAMILY           ),                     .module_type         ("pmi_ram_dp"     ))      vx22c9b       (                     .Data                (cocb9[0]         ),                     .WrAddress           (ksb9fa8           ),                     .RdAddress           (qv80bb8       ),                     .WrClock             (clk              ),                     .RdClock             (clk              ),                     .WrClockEn           (ce               ),                     .RdClockEn           (ce               ),                     .WE                  (db225cf            ),                     .Reset               (~rstn || sr      ),                     .Q                   (sw9727e[0]        ));      pmi_ram_dp  #(                      .pmi_wr_addr_depth   (gb6f03a         ),                     .pmi_wr_addr_width   (oh7503          ),                     .pmi_wr_data_width   (dmee6c1       ),                     .pmi_rd_addr_depth   (gb6f03a         ),                     .pmi_rd_addr_width   (oh7503          ),                     .pmi_rd_data_width   (dmee6c1       ),                     .pmi_regmode         ("reg"            ),                     .pmi_gsr             ("disable"        ),                     .pmi_resetmode       ("sync"           ),                     .pmi_init_file       ("none"           ),                     .pmi_init_file_format("binary"         ),                     .pmi_family          (FAMILY           ),                     .module_type         ("pmi_ram_dp"     ))      zkeb863      (                     .Data                (uk2ee29       ),                     .WrAddress           (th7e02e       ),                     .RdAddress           (qv80bb8       ),                     .WrClock             (clk              ),                     .RdClock             (clk              ),                     .WrClockEn           (ce               ),                     .RdClockEn           (ce               ),                     .WE                  (yxc9f80        ),                     .Reset               (~rstn || sr      ),                     .Q                   (twb8a49      ));   end else begin      pmi_distributed_dpram  #(                      .pmi_addr_depth      (gb6f03a         ),                     .pmi_addr_width      (oh7503          ),                     .pmi_data_width      (DWIDTH           ),                     .pmi_regmode         ("reg"            ),                     .pmi_init_file       ("none"           ),                     .pmi_init_file_format("binary"         ),                     .pmi_family          (FAMILY           ),                     .module_type         ("pmi_distributed_dpram"))      hbcddde   (                     .Data                (cocb9[0]         ),                     .WrAddress           (ksb9fa8           ),                     .WE                  (db225cf            ),                     .WrClock             (clk              ),                     .WrClockEn           (ce               ),                     .RdAddress           (qv80bb8       ),                     .RdClock             (clk              ),                     .RdClockEn           (ce               ),                     .Reset               (~rstn || sr      ),                     .Q                   (sw9727e[0]        ));      pmi_distributed_dpram  #(                      .pmi_addr_depth      (gb6f03a         ),                     .pmi_addr_width      (oh7503          ),                     .pmi_data_width      (dmee6c1       ),                     .pmi_regmode         ("reg"            ),                     .pmi_init_file       ("none"           ),                     .pmi_init_file_format("binary"         ),                     .pmi_family          (FAMILY           ),                     .module_type         ("pmi_distributed_dpram"))      ymb95ff      (                     .Data                (uk2ee29       ),                     .WrAddress           (th7e02e       ),                     .WE                  (yxc9f80        ),                     .WrClock             (clk              ),                     .WrClockEn           (ce               ),                     .RdAddress           (qv80bb8       ),                     .RdClock             (clk              ),                     .RdClockEn           (ce               ),                     .Reset               (~rstn || sr      ),                     .Q                   (twb8a49      ));   end
end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      os496a8   <= 1'b0;      of4b540 <= {3{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         os496a8   <= 1'b0;         of4b540 <= {3{1'b0}};      end else begin         os496a8   <= !mre21ae || medb272 || ay5c6d9;         of4b540 <= {rt50166[1:0],jraa02c};      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      hbfc541[0] <= {ene2db5{1'b0}};      hbfc541[1] <= {ene2db5{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         hbfc541[0] <= {ene2db5{1'b0}};         hbfc541[1] <= {ene2db5{1'b0}};      end else begin         hbfc541[0] <= (SHARE_CMEM=="TRUE") ? ((jraa02c) ? fa427de : wl18605) : fa427de;         hbfc541[1] <= hbfc541[0];      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      fnc25e9 <= {xjd829e{1'b0}};      qi97a7d <= {qg53dc1{1'b0}};      pfe9f4a<= {qg53dc1{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         fnc25e9 <= {xjd829e{1'b0}};         qi97a7d <= {qg53dc1{1'b0}};         pfe9f4a<= {qg53dc1{1'b0}};      end else begin         fnc25e9 <= ipe7d08;         pfe9f4a<= zkf4228;         if(rt50166[2] && (LBUFFER=="EBR")) begin            qi97a7d <= zkf4228;         end else if(rt50166[1] && (LBUFFER!="EBR")) begin            qi97a7d <= zkf4228;         end      end   end
end
generate   assign ep33097 = zx50ae7;   if(SHARE_CMEM=="TRUE") begin      if(LBUFFER=="EBR") begin         assign gq15075 = (aaa1b=="EBR") ? hbfc541[0] : hbfc541[1];      end else begin         assign gq15075 = (aaa1b=="EBR") ? ((jraa02c) ? fa427de : wl18605) : hbfc541[0];      end   end else begin      if(LBUFFER=="EBR") begin         assign gq15075 = (aaa1b=="EBR") ? hbfc541[0] : hbfc541[1];      end else begin         assign gq15075 = (aaa1b=="EBR") ? fa427de : hbfc541[0];      end   end   if(KERNEL=="NEAREST" || KERNEL=="BILINEAR") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            gq9779c[0] <= {CWIDTH{1'b0}};            gq9779c[1] <= {CWIDTH{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               gq9779c[0] <= {CWIDTH{1'b0}};               gq9779c[1] <= {CWIDTH{1'b0}};            end else begin               gq9779c[0] <= an9f79f;               if(an9f79f==0) begin                  gq9779c[1] <= (1<<CWIDTH) - 1;               end else begin                  gq9779c[1] <= (1<<CWIDTH) - {1'b0,an9f79f};               end            end         end      end      assign rgfe5de = {gq9779c[1],gq9779c[0]};   end else begin      if(aaa1b=="EBR") begin : uicee22         pmi_rom #(                   .pmi_addr_depth        (1<<ene2db5    ),                   .pmi_addr_width        (ene2db5       ),                   .pmi_data_width        (qg53dc1    ),                   .pmi_regmode           ("reg"         ),                   .pmi_gsr               ("disable"     ),                   .pmi_resetmode         ("sync"        ),                   .pmi_init_file         (bl4fa87    ),                   .pmi_init_file_format  ("binary"      ),                   .pmi_family            (FAMILY        ),                   .module_type           ("pmi_rom"     ))         db81631 (.Address      (gq15075  ),                .OutClock     (clk        ),                .OutClockEn   (ce         ),                .Reset        (~rstn      ),                .Q            (rgfe5de   ));      end else begin : zk7354f         pmi_distributed_rom #(                   .pmi_addr_depth       (1<<ene2db5    ),                   .pmi_addr_width       (ene2db5       ),                   .pmi_data_width       (qg53dc1    ),                   .pmi_regmode          ("reg"         ),                   .pmi_init_file        (bl4fa87    ),                   .pmi_init_file_format ("binary"      ),                   .pmi_family           (FAMILY        ),                   .module_type          ("pmi_distributed_rom"))         db81631 (.Address      (gq15075  ),                .OutClock     (clk        ),                .OutClockEn   (ce         ),                .Reset        (~rstn      ),                .Q            (rgfe5de   ));      end   end
endgenerate
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];of5e00c<={din>>1,hq208ff[2]};zx7b7ca<=hq208ff[3];ykdbe57<=hq208ff[4];bydf2b9<=hq208ff[5];je1a5d<={uxbe486>>1,hq208ff[6]};and2eb<={mrf2435>>1,hq208ff[7]};fa6975c<={uk921ad>>1,hq208ff[8]};of4bae3<={oh90d68>>1,hq208ff[9]};ne5d71c<={ri86b44>>1,hq208ff[10]};rgeb8e3<={hq35a22>>1,hq208ff[11]};ep18a4b<=hq208ff[12];yz292e2<={qtd9d59>>1,hq208ff[13]};sh4b8a8<={ip75660>>1,hq208ff[14]};gbe2a21<={me59824>>1,hq208ff[15]};lsa8869<={cz60904>>1,hq208ff[16]};wy21a54<={ie24123>>1,hq208ff[17]};xw69504<={vk48ca>>1,hq208ff[18]};en5411e<={ux23299>>1,hq208ff[19]};do47ae<={os67615>>1,hq208ff[20]};vk1eb95<={thd8541>>1,hq208ff[21]};uxae559<={qi1507e>>1,hq208ff[22]};kf95660<={kd41f8b>>1,hq208ff[23]};qvab305<=hq208ff[24];su5982c<=hq208ff[25];czcc160<=hq208ff[26];wj60b04<=hq208ff[27];ks5824<=hq208ff[28];mr6090d<={by4759c>>1,hq208ff[29]};je486c<=hq208ff[30];ym24363<=hq208ff[31];ec21b19<=hq208ff[32];tu6c645<={xje3503>>1,hq208ff[33]};fp1915a<={ead40f1>>1,hq208ff[34]};pf456bf<={jr3c4f>>1,hq208ff[35]};vv5aff0<={zkf13f2>>1,hq208ff[36]};dbbfc3f<={rt4fc93>>1,hq208ff[37]};osf0ff3<={ipf24f7>>1,hq208ff[38]};ks87f99<=hq208ff[39];do3fcc8<=hq208ff[40];byfe642<=hq208ff[41];rtf3213<=hq208ff[42];je9909f<=hq208ff[43];fa427de<={me43f15>>1,hq208ff[44]};an9f79f<={gq15075>>1,hq208ff[45]};cmde7e2<={uv41d4b>>1,hq208ff[46]};fnf3f10<=hq208ff[47];oh9f886<=hq208ff[48];blfc435<=hq208ff[49];mre21ae<=hq208ff[50];ie10d74<=hq208ff[51];vk86ba0<=hq208ff[52];epae813<={uxa18cd>>1,hq208ff[53]};hb7409d<=hq208ff[54];kf2777<={xl19b32>>1,hq208ff[55]};jr13bbd<=hq208ff[56];jceef78<={lq665ba>>1,hq208ff[57]};su77bc3<=hq208ff[58];goef0c3<={pub74b3>>1,hq208ff[59]};qg78618<=hq208ff[60];wl18605<={zm966ff>>1,hq208ff[61]};yz1816d<={fp9bfd1>>1,hq208ff[62]};mg5b6b<={eaff47b>>1,hq208ff[63]};me6dace<={ykd1ec9>>1,hq208ff[64]};th6b381<={pf7b245>>1,hq208ff[65]};kqce070<={czc917d>>1,hq208ff[66]};tj81c0c<={xj45f63>>1,hq208ff[67]};bae067<=hq208ff[68];sh7033b<=hq208ff[69];ph819dc<=hq208ff[70];xlcee7<=hq208ff[71];kq6773f<=hq208ff[72];sw3b9f8<=hq208ff[73];shdcfc0<=hq208ff[74];cze7e04<=hq208ff[75];shf812b<={hbd871f>>1,hq208ff[76]};ls4ae3<={xl1c7fc>>1,hq208ff[77]};pu2571b<=hq208ff[78];ks2b8db<=hq208ff[79];ay5c6d9<=hq208ff[80];the36c9<=hq208ff[81];ng1b64e<=hq208ff[82];medb272<=hq208ff[83];ofc9c85<={pfc8f5e>>1,hq208ff[84]};sh4e42d<=hq208ff[85];ww7216d<=hq208ff[86];yz90b69<=hq208ff[87];ux85b4c<=hq208ff[88];lf2da65<=hq208ff[89];ea6d32e<=hq208ff[90];fa69971<=hq208ff[91];ic4cb8a<=hq208ff[92];wj65c51<=hq208ff[93];ks2e28c<=hq208ff[94];zx71460<=hq208ff[95];sj8a306<=hq208ff[96];yx51835<=hq208ff[97];tw8c1ac<=hq208ff[98];cz60d62<=hq208ff[99];jr6b14<=hq208ff[100];vk358a6<=hq208ff[101];ouac533<=hq208ff[102];go62999<=hq208ff[103];ri14cc9<=hq208ff[104];oua664a<=hq208ff[105];an33250<={zkc5035>>1,hq208ff[106]};do99285<={vx281aa>>1,hq208ff[107]};qtc942b<=hq208ff[108];zx50ae7<={rgfe5de>>1,hq208ff[109]};cb8573e<={ri9c106>>1,hq208ff[110]};qi2b9f4<=hq208ff[111];ipe7d08<={ls20cc2>>1,hq208ff[112]};zkf4228<={ep33097>>1,hq208ff[113]};kf8a15<={fnc25e9>>1,hq208ff[114]};db2856e<={qi97a7d>>1,hq208ff[115]};co15bba<={pfe9f4a>>1,hq208ff[116]};zmaddd0<=hq208ff[117];os77417<={lqf13c1>>1,hq208ff[118]};hod05cf<={wwc14f8>>1,hq208ff[119]};an173d8<={rt644b9>>1,hq208ff[120]};ieb9ec4<=hq208ff[121];tucf621<=hq208ff[122];nrd885f<={ksb9fa8>>1,hq208ff[123]};sw217f0<={ip41583>>1,hq208ff[124]};bl5fc0a<={ww560e0>>1,hq208ff[125]};zkfe057<={fpb0700>>1,hq208ff[126]};ykf02bb<=hq208ff[127];ksaec6<={th7e02e>>1,hq208ff[128]};ohbb182<={qv80bb8>>1,hq208ff[129]};uvc60ae<={uk2ee29>>1,hq208ff[130]};sw82baa<={twb8a49>>1,hq208ff[131]};ou15d50<=hq208ff[132];sjaea80<=hq208ff[133];of75405<=hq208ff[134];jraa02c<=hq208ff[135];rt50166<={of4b540>>1,hq208ff[136]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=din[0];vv6411f[2045]<=zxec7d9;vv6411f[2044]<=dvalid_in;vv6411f[2043]<=rg63ecf;vv6411f[2041]<=frmsync_in;vv6411f[2038]<=aa1f67b;vv6411f[2035]<=os53b57;vv6411f[2029]<=lq665ba[0];vv6411f[2028]<=nefb3d8;vv6411f[2022]<=uxbe486[0];vv6411f[2011]<=db32dd2;vv6411f[2009]<=ipd9ec3;vv6411f[1996]<=mrf2435[0];vv6411f[1986]<=dz5f140;vv6411f[1974]<=pub74b3[0];vv6411f[1971]<=zkcf61c;vv6411f[1945]<=uk921ad[0];vv6411f[1943]<=yma9754;vv6411f[1924]<=mrf8a06;vv6411f[1922]<=dz7e2e8;vv6411f[1920]<=fpb0700[0];vv6411f[1901]<=vxba59b;vv6411f[1895]<=hbd871f[0];vv6411f[1857]<=pfc8f5e[0];vv6411f[1852]<=db225cf;vv6411f[1842]<=oh90d68[0];vv6411f[1839]<=kd4baa1;vv6411f[1800]<=zkc5035[0];vv6411f[1797]<=faf1747;vv6411f[1792]<=yxc9f80;vv6411f[1791]<=xj45f63[0];vv6411f[1784]<=mrf72f8;vv6411f[1778]<=uv41d4b[0];vv6411f[1776]<=qi1507e[0];vv6411f[1767]<=lqf13c1[0];vv6411f[1759]<=ykd1ec9[0];vv6411f[1755]<=zm966ff[0];vv6411f[1742]<=xl1c7fc[0];vv6411f[1677]<=aledd00;vv6411f[1667]<=zk47af7;vv6411f[1656]<=qv12e7e;vv6411f[1652]<=meff9f9;vv6411f[1637]<=ri86b44[0];vv6411f[1631]<=ho5d50c;vv6411f[1622]<=ip75660[0];vv6411f[1552]<=vx281aa[0];vv6411f[1546]<=ph8ba3a;vv6411f[1536]<=th7e02e[0];vv6411f[1535]<=hq2fb1f;vv6411f[1531]<=xl19b32[0];vv6411f[1520]<=ukb97c5;vv6411f[1509]<=jeea5d;vv6411f[1504]<=kd41f8b[0];vv6411f[1487]<=wwc14f8[0];vv6411f[1471]<=pf7b245[0];vv6411f[1468]<=os67615[0];vv6411f[1463]<=fp9bfd1[0];vv6411f[1437]<=vve3fe7;vv6411f[1391]<=vk48ca[0];vv6411f[1312]<=ead40f1[0];vv6411f[1307]<=xj6e804;vv6411f[1286]<=vx3d7ba;vv6411f[1264]<=ksb9fa8[0];vv6411f[1256]<=xjfcfc8;vv6411f[1226]<=hq35a22[0];vv6411f[1215]<=uiea863;vv6411f[1197]<=me59824[0];vv6411f[1153]<=zkf13f2[0];vv6411f[1135]<=zza013e;vv6411f[1079]<=ep33097[0];vv6411f[1057]<=nr40d57;vv6411f[1050]<=qt5eeb3;vv6411f[1044]<=vi5d1d6;vv6411f[1037]<=ou927bd;vv6411f[1025]<=qv80bb8[0];vv6411f[1023]<=ce;vv6411f[1022]<=cm7d8fb;vv6411f[1014]<=rtcd996;vv6411f[993]<=gocbe28;vv6411f[971]<=al752ea;vv6411f[961]<=gqfc5d;vv6411f[960]<=ww560e0[0];vv6411f[928]<=xy3f23d;vv6411f[926]<=rt644b9[0];vv6411f[895]<=czc917d[0];vv6411f[892]<=ou3ee5f;vv6411f[889]<=gq15075[0];vv6411f[888]<=thd8541[0];vv6411f[883]<=ukb61f1;vv6411f[879]<=eaff47b[0];vv6411f[838]<=ie9dba0;vv6411f[826]<=gq1ff3f;vv6411f[811]<=qtd9d59[0];vv6411f[765]<=xlc66c;vv6411f[734]<=ux23299[0];vv6411f[695]<=ie24123[0];vv6411f[656]<=xje3503[0];vv6411f[576]<=jr3c4f[0];vv6411f[567]<=dz74027;vv6411f[539]<=ls20cc2[0];vv6411f[525]<=psebdd6;vv6411f[518]<=ipf24f7[0];vv6411f[480]<=ip41583[0];vv6411f[464]<=kde7e47;vv6411f[446]<=xy4fb9;vv6411f[444]<=me43f15[0];vv6411f[441]<=pfe9f4a[0];vv6411f[419]<=ymb3b74;vv6411f[405]<=dout_enable;vv6411f[382]<=uxa18cd[0];vv6411f[347]<=cz60904[0];vv6411f[328]<=oub38d4;vv6411f[269]<=wwe0833;vv6411f[259]<=rt4fc93[0];vv6411f[254]<=of4b540[0];vv6411f[223]<=mg9f7;vv6411f[222]<=fcbd0fc;vv6411f[220]<=qi97a7d[0];vv6411f[209]<=czd676e;vv6411f[164]<=end671a;vv6411f[134]<=ri9c106[0];vv6411f[127]<=os496a8;vv6411f[111]<=enf7a1f;vv6411f[110]<=fnc25e9[0];vv6411f[104]<=dbbaced;vv6411f[82]<=ng3ace3;vv6411f[67]<=rgfe5de[0];vv6411f[63]<=yk492d5;vv6411f[55]<=vx9ef43;vv6411f[52]<=qtf759d;vv6411f[41]<=by4759c[0];vv6411f[31]<=an2925a;vv6411f[27]<=ri93de8;vv6411f[15]<=dmc524b;vv6411f[7]<=twb8a49[0];vv6411f[3]<=uk2ee29[0];end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module goe5538_Bicubic2D (
                 rstn,
                 clk,
                 ce,
                 sr,
                 din,
                 xyb8b0,
                 go5c582,
                 ofe2c11,
                 fp1608d,
                 dvalid_in,
                 xwcf0c0,
                 cb180c5,
                 dvalid_out,
                 hoc062d,
                 dout
               );
parameter   cbb147b     = 18;
parameter   qv8a3dc     = 18;
parameter   hbe3cc4     = 41;
parameter   wl8f72c      = 4;
parameter   fn7b965    = 1;
parameter   shdcb2e      = "SIGNED";
parameter   aye5974      = "SIGNED";
parameter   sj2cba0   = 4;
parameter   FAMILY     = "ECP2";
localparam  DWIDTH     = (shdcb2e=="UNSIGNED"&&aye5974=="SIGNED"&&FAMILY=="ECP") ? (cbb147b+1) : cbb147b;
localparam  CWIDTH     = (shdcb2e=="SIGNED"&&aye5974=="UNSIGNED"&&FAMILY=="ECP") ? (qv8a3dc+1) : qv8a3dc;
localparam  DTYPE      = (shdcb2e=="UNSIGNED"&&aye5974=="SIGNED"&&FAMILY=="ECP") ? "SIGNED" : shdcb2e;
localparam  CTYPE      = (shdcb2e=="SIGNED"&&aye5974=="UNSIGNED"&&FAMILY=="ECP") ? "SIGNED" : aye5974;
localparam  ux36e0d     = (wl8f72c==1) ? 1 : gd17093(wl8f72c-1);
localparam  ird8d1    = DWIDTH+CWIDTH+2;
localparam  aa1a35a    = DWIDTH+CWIDTH+ux36e0d;
localparam  sw3141e  = (((shdcb2e=="UNSIGNED"&&aye5974=="SIGNED")||(shdcb2e=="SIGNED"&&aye5974=="UNSIGNED")) && FAMILY=="ECP") ? (hbe3cc4+1) : hbe3cc4;
localparam  ba25f17     = 4;
localparam  baea1a     = ((DWIDTH <= 18 && CWIDTH <= 18) ?                         ((sj2cba0 > 1) ? 5 : 4) :                         ((sj2cba0 > 1) ? 6 : 5));
localparam  thd28c8     = ((DWIDTH <= 18 && CWIDTH <= 18) ?                         ((sj2cba0 > 1) ? 5 : 4) :                         ((sj2cba0 > 1) ? 7 : 6));
localparam  fa47e3f     = ((DWIDTH <= 18 && CWIDTH <= 18) ?                         ((sj2cba0 > 1) ? ux36e0d+3 : ux36e0d+2) :                         ((sj2cba0 > 1) ? ux36e0d+5 : ux36e0d+4));
localparam  fa73342     = ((wl8f72c==1) ? ba25f17 :                         ((wl8f72c==2) ? baea1a :                         ((wl8f72c==3) ? thd28c8 :                         ((wl8f72c==4) ? thd28c8 : fa47e3f))));
input                         rstn;
input                         clk;
input                         ce;
input                         sr;
input [(cbb147b*wl8f72c)-1:0]    din;
input [(qv8a3dc*wl8f72c)-1:0]    xyb8b0;
input                         go5c582;
input                         ofe2c11;
input                         fp1608d;
input                         dvalid_in;
input [fn7b965-1:0]           xwcf0c0;
output                        cb180c5;
output                        dvalid_out;
output[fn7b965-1:0]           hoc062d;
output[hbe3cc4-1:0]            dout;
wire xwfec66;
wire hbf6332;
reg [fa73342-1:0]           mtbe7aa           ;
reg [fa73342-1:0]           lf32f5a             ;
reg [fa73342-1:0]           zmbd6b1           ;
reg [fa73342-1:0]           jr9eaae          ;
reg [fn7b965-1:0]          cbb14bc[fa73342-1:0] ;
wire[DWIDTH-1:0]           qi9792b[wl8f72c+3:0];
wire[CWIDTH-1:0]           ls2564a[wl8f72c+3:0];
reg [sw3141e-1:0]        shc94c1            ;
wire[sw3141e-1:0]        ui53067;
wire[DWIDTH+CWIDTH+16-1:0] tjce09;
reg [DWIDTH+CWIDTH+16-1:0] uic13c6;
wire[aa1a35a-1:0]          pf4f187;
wire[aa1a35a-1:0]          shc61f9;
reg [aa1a35a-1:0]          ym87e6b                      ;
wire[DWIDTH+CWIDTH-1:0]    fncd61f  [wl8f72c-1:0];
reg [DWIDTH+CWIDTH-1:0]    uk1fd9c [wl8f72c:0]               ;
wire[DWIDTH+CWIDTH+1:0]    ls9c2b8 [(wl8f72c+3)/4  :0];
wire[DWIDTH+CWIDTH+1:0]    vkb86c2[(wl8f72c+3)/4  :0];
reg [DWIDTH+CWIDTH+1:0]    thc2557[(wl8f72c+3)/4-1:0]       ;
reg [DWIDTH+CWIDTH:0]      lq57f6f                          ;
wire[aa1a35a-1:0]          wjfdbde   [(wl8f72c+3)/4-1:0];
reg [DWIDTH+CWIDTH:0]      sudeb26 [(wl8f72c+1)/2:0]         ;
reg [DWIDTH+CWIDTH+1:0]    mt26246 [((wl8f72c+1)/2+1)/2-1:0] ;
wire[aa1a35a-1:0]          ps48d02    [ux36e0d-2:0][(1<<(ux36e0d-2))-1:0];
genvar cbaee3e,ay5313f;
reg os771f5;
reg lsb8fa9;
reg [(cbb147b * wl8f72c) - 1 : 0] of5e00c;
reg [(qv8a3dc * wl8f72c) - 1 : 0] fp8b9d6;
reg su5ceb6;
reg cze75b0;
reg hq3ad84;
reg zx7b7ca;
reg [fn7b965 - 1 : 0] swa9780;
reg vx8454f;
reg ph22a7e;
reg [fa73342 - 1 : 0] ep80320;
reg [fa73342 - 1 : 0] vv7ee46;
reg [fa73342 - 1 : 0] aab91b5;
reg [fa73342 - 1 : 0] lfc823;
reg [sw3141e - 1 : 0] vxb51c4;
reg [sw3141e - 1 : 0] fa47132;
reg [DWIDTH + CWIDTH + 16 - 1 : 0] ux264f9;
reg [DWIDTH + CWIDTH + 16 - 1 : 0] cb9f33b;
reg [aa1a35a - 1 : 0] wjccee7;
reg [aa1a35a - 1 : 0] gq3b9e8;
reg [aa1a35a - 1 : 0] ofe7a04;
reg [DWIDTH + CWIDTH : 0] pf40975;
reg [2047:0] vv6411f;
wire [22:0] hq208ff;
localparam vk47fa = 23,oh23fd2 = 32'hfdffd84b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
function [31:0] gd17093;
input [31:0] value;
for (gd17093=0; value>0; gd17093=gd17093+1) value = value>>1;
endfunction
generate   always @(posedge clk or negedge rstn)   begin      if (!rstn) begin         mtbe7aa  <= {fa73342{1'b0}};         lf32f5a    <= {fa73342{1'b0}};         zmbd6b1  <= {fa73342{1'b0}};         jr9eaae <= {fa73342{1'b0}};      end else if(os771f5) begin         if (lsb8fa9) begin            mtbe7aa  <= {fa73342{1'b0}};            lf32f5a    <= {fa73342{1'b0}};            zmbd6b1  <= {fa73342{1'b0}};            jr9eaae <= {fa73342{1'b0}};         end else begin            mtbe7aa  <= { ep80320[fa73342-2:0], zx7b7ca};            lf32f5a    <= {   vv7ee46[fa73342-2:0],   su5ceb6};            zmbd6b1  <= { aab91b5[fa73342-2:0], cze75b0};            jr9eaae <= {lfc823[fa73342-2:0],hq3ad84};         end      end   end   for (cbaee3e=0;cbaee3e<fa73342;cbaee3e=cbaee3e+1) begin:db1c4b7      always @(posedge clk or negedge rstn)      begin         if (!rstn) begin            cbb14bc[cbaee3e] <= {fn7b965{1'b0}};         end else if(os771f5) begin            if (lsb8fa9) begin               cbb14bc[cbaee3e] <= {fn7b965{1'b0}};            end else begin               cbb14bc[cbaee3e] <= (cbaee3e==0) ? swa9780 : cbb14bc[cbaee3e-1];            end         end      end   end
endgenerate
assign dvalid_out  = aab91b5 [fa73342-1];
assign cb180c5 = lfc823[fa73342-1];
assign hoc062d    = cbb14bc   [fa73342-1];
generate   if(wl8f72c == 1) begin      if (DTYPE=="SIGNED" || CTYPE=="SIGNED") begin         assign dout = {cb9f33b[DWIDTH+CWIDTH+15],cb9f33b[hbe3cc4-2:0]};      end else begin         assign dout = cb9f33b[hbe3cc4-1:0];      end   end else begin      if (sj2cba0 > 1) begin:rtf684f         assign dout = vxb51c4[hbe3cc4-1:0];      end else begin         assign dout = wjccee7[hbe3cc4-1:0];      end   end
endgenerate
generate
begin   if (DTYPE == "SIGNED") assign hbf6332 = 1'b1;   else                   assign hbf6332 = 1'b0;   if (CTYPE == "SIGNED") assign xwfec66 = 1'b1;   else                   assign xwfec66 = 1'b0;   for (cbaee3e=0;cbaee3e<wl8f72c+4;cbaee3e=cbaee3e+1) begin:ir36f5c      if(cbaee3e<wl8f72c) begin         if(shdcb2e=="UNSIGNED"&&aye5974=="SIGNED"&&FAMILY=="ECP") begin            assign qi9792b[cbaee3e] = {1'b0,of5e00c[(cbaee3e+1)*cbb147b-1:cbaee3e*cbb147b]};         end else begin            assign qi9792b[cbaee3e] = of5e00c[(cbaee3e+1)*cbb147b-1:cbaee3e*cbb147b];         end         if(shdcb2e=="SIGNED"&&aye5974=="UNSIGNED"&&FAMILY=="ECP") begin            assign ls2564a[cbaee3e] = {1'b0,fp8b9d6[(cbaee3e+1)*qv8a3dc-1:cbaee3e*qv8a3dc]};         end else begin            assign ls2564a[cbaee3e] = fp8b9d6[(cbaee3e+1)*qv8a3dc-1:cbaee3e*qv8a3dc];         end      end else begin         assign qi9792b[cbaee3e] = {DWIDTH{1'b0}};         assign ls2564a[cbaee3e] = {CWIDTH{1'b0}};      end   end   if (wl8f72c==1) begin:ie3e950      pmi_dsp_mac #( .pmi_dataa_width           (DWIDTH        ),                     .pmi_datab_width           (CWIDTH        ),                     .pmi_additional_pipeline   (1             ),                     .pmi_input_reg             ("on"          ),                     .pmi_family                (FAMILY        ),                     .pmi_gsr                   ("enable"      ),                     .pmi_source_control_a      ("parallel"    ),                     .pmi_source_control_b      ("parallel"    ),                     .pmi_reg_inputa_clk        ("CLK0"        ),                     .pmi_reg_inputa_ce         ("CE0"         ),                     .pmi_reg_inputa_rst        ("RST0"        ),                     .pmi_reg_inputb_clk        ("CLK0"        ),                     .pmi_reg_inputb_ce         ("CE0"         ),                     .pmi_reg_inputb_rst        ("RST0"        ),                     .pmi_reg_pipeline_clk      ("CLK0"        ),                     .pmi_reg_pipeline_ce       ("CE0"         ),                     .pmi_reg_pipeline_rst      ("RST0"        ),                     .pmi_reg_output_clk        ("CLK0"        ),                     .pmi_reg_output_ce         ("CE3"         ),                     .pmi_reg_output_rst        ("RST0"        ),                     .pmi_reg_signeda_0_clk     ("CLK0"        ),                     .pmi_reg_signeda_0_ce      ("CE0"         ),                     .pmi_reg_signeda_0_rst     ("RST0"        ),                     .pmi_reg_signeda_1_clk     ("CLK0"        ),                     .pmi_reg_signeda_1_ce      ("CE0"         ),                     .pmi_reg_signeda_1_rst     ("RST0"        ),                     .pmi_reg_signedb_0_clk     ("CLK0"        ),                     .pmi_reg_signedb_0_ce      ("CE0"         ),                     .pmi_reg_signedb_0_rst     ("RST0"        ),                     .pmi_reg_signedb_1_clk     ("CLK0"        ),                     .pmi_reg_signedb_1_ce      ("CE0"         ),                     .pmi_reg_signedb_1_rst     ("RST0"        ),                     .pmi_reg_addnsub_0_clk     ("CLK0"        ),                     .pmi_reg_addnsub_0_ce      ("CE0"         ),                     .pmi_reg_addnsub_0_rst     ("RST0"        ),                     .pmi_reg_addnsub_1_clk     ("CLK0"        ),                     .pmi_reg_addnsub_1_ce      ("CE0"         ),                     .pmi_reg_addnsub_1_rst     ("RST0"        ),                     .pmi_reg_accumsload_0_clk  ("CLK0"        ),                     .pmi_reg_accumsload_0_ce   ("CE0"         ),                     .pmi_reg_accumsload_0_rst  ("RST0"        ),                     .pmi_reg_accumsload_1_clk  ("CLK0"        ),                     .pmi_reg_accumsload_1_ce   ("CE0"         ),                     .pmi_reg_accumsload_1_rst  ("RST0"        ),                     .module_type               ("pmi_dsp_mac" ))            bl500fa (  .A                (qi9792b[0]       ),                     .B                (ls2564a[0]       ),                     .SRIA             ({18{1'b0}}    ),                     .SRIB             ({18{1'b0}}    ),                     .CLK0             (clk           ),                     .CLK1             (clk           ),                     .CLK2             (clk           ),                     .CLK3             (clk           ),                     .CE0              (ce            ),                     .CE1              (ce            ),                     .CE2              (ce            ),                     .CE3              (mtbe7aa[1]&&ce),                     .RST0             (~rstn         ),                     .RST1             (~rstn         ),                     .RST2             (~rstn         ),                     .RST3             (~rstn         ),                     .SignA            (hbf6332         ),                     .SignB            (xwfec66         ),                     .SourceA          (1'b0          ),                     .SourceB          (1'b0          ),                     .ADDNSUB          (1'b1          ),                     .ACCUMSLOAD       (go5c582&dvalid_in),                     .LD               ({(DWIDTH+CWIDTH+16){1'b0}}),                     .SROA             (              ),                     .SROB             (              ),                     .ACCUM            (tjce09        ),                     .OVERFLOW         (              ));      always @(posedge clk or negedge rstn)      begin         if (!rstn) begin            uic13c6 <= {(DWIDTH+CWIDTH+16){1'b0}};         end else if(os771f5) begin            if (lsb8fa9) begin               uic13c6 <= {(DWIDTH+CWIDTH+16){1'b0}};            end else begin               uic13c6 <= ux264f9;            end         end      end   end else if (wl8f72c==2) begin:wwced9a      if (DWIDTH <= 18 && CWIDTH <= 18) begin         pmi_dsp_multaddsub #(.pmi_dataa_width           (DWIDTH              ),                              .pmi_datab_width           (CWIDTH              ),                              .pmi_additional_pipeline   (1                   ),                              .pmi_input_reg             ("on"                ),                              .pmi_output_reg            ("on"                ),                              .pmi_family                (FAMILY              ),                              .pmi_gsr                   ("enable"            ),                              .pmi_source_control_a0     ("parallel"          ),                              .pmi_source_control_a1     ("parallel"          ),                              .pmi_source_control_b0     ("parallel"          ),                              .pmi_source_control_b1     ("parallel"          ),                              .pmi_reg_inputa0_clk       ("CLK0"              ),                              .pmi_reg_inputa0_ce        ("CE0"               ),                              .pmi_reg_inputa0_rst       ("RST0"              ),                              .pmi_reg_inputa1_clk       ("CLK0"              ),                              .pmi_reg_inputa1_ce        ("CE0"               ),                              .pmi_reg_inputa1_rst       ("RST0"              ),                              .pmi_reg_inputb0_clk       ("CLK0"              ),                              .pmi_reg_inputb0_ce        ("CE0"               ),                              .pmi_reg_inputb0_rst       ("RST0"              ),                              .pmi_reg_inputb1_clk       ("CLK0"              ),                              .pmi_reg_inputb1_ce        ("CE0"               ),                              .pmi_reg_inputb1_rst       ("RST0"              ),                              .pmi_reg_pipeline0_clk     ("CLK0"              ),                              .pmi_reg_pipeline0_ce      ("CE0"               ),                              .pmi_reg_pipeline0_rst     ("RST0"              ),                              .pmi_reg_pipeline1_clk     ("CLK0"              ),                              .pmi_reg_pipeline1_ce      ("CE0"               ),
                              .pmi_reg_pipeline1_rst     ("RST0"              ),                              .pmi_reg_output_clk        ("CLK0"              ),                              .pmi_reg_output_ce         ("CE0"               ),                              .pmi_reg_output_rst        ("RST0"              ),                              .pmi_reg_signeda_0_clk     ("CLK0"              ),                              .pmi_reg_signeda_0_ce      ("CE0"               ),                              .pmi_reg_signeda_0_rst     ("RST0"              ),                              .pmi_reg_signeda_1_clk     ("CLK0"              ),                              .pmi_reg_signeda_1_ce      ("CE0"               ),                              .pmi_reg_signeda_1_rst     ("RST0"              ),                              .pmi_reg_signedb_0_clk     ("CLK0"              ),                              .pmi_reg_signedb_0_ce      ("CE0"               ),                              .pmi_reg_signedb_0_rst     ("RST0"              ),                              .pmi_reg_signedb_1_clk     ("CLK0"              ),                              .pmi_reg_signedb_1_ce      ("CE0"               ),                              .pmi_reg_signedb_1_rst     ("RST0"              ),                              .pmi_reg_addnsub_0_clk     ("CLK0"              ),                              .pmi_reg_addnsub_0_ce      ("CE0"               ),                              .pmi_reg_addnsub_0_rst     ("RST0"              ),                              .pmi_reg_addnsub_1_clk     ("CLK0"              ),                              .pmi_reg_addnsub_1_ce      ("CE0"               ),                              .pmi_reg_addnsub_1_rst     ("RST0"              ),                              .module_type               ("pmi_dsp_multaddsub"))                        ie82263 (.A0               (qi9792b[0]       ),                              .A1               (qi9792b[1]       ),                              .B0               (ls2564a[0]       ),                              .B1               (ls2564a[1]       ),                              .SRIA             ({18{1'b0}}    ),                              .SRIB             ({18{1'b0}}    ),                              .CLK0             (clk           ),                              .CLK1             (clk           ),                              .CLK2             (clk           ),                              .CLK3             (clk           ),                              .CE0              (ce            ),                              .CE1              (ce            ),                              .CE2              (ce            ),                              .CE3              (ce            ),                              .RST0             (~rstn         ),                              .RST1             (~rstn         ),                              .RST2             (~rstn         ),                              .RST3             (~rstn         ),                              .SignA            (hbf6332         ),                              .SignB            (xwfec66         ),                              .ShiftA0          (1'b0          ),                              .ShiftA1          (1'b0          ),                              .ShiftB0          (1'b0          ),                              .ShiftB1          (1'b0          ),                              .SROA             (              ),                              .SROB             (              ),                              .ADDNSUB          (1'b1          ),                              .SUM              (shc61f9       ));         always @(posedge clk or negedge rstn)         begin            if (!rstn)               ym87e6b <= {(DWIDTH+CWIDTH+1){1'b0}};            else if(os771f5) begin               if (lsb8fa9)                  ym87e6b <= {(DWIDTH+CWIDTH+1){1'b0}};               else                  ym87e6b <= gq3b9e8;            end         end         assign pf4f187 = ofe7a04;      end else begin         pmi_dsp_mult #(.pmi_dataa_width           (DWIDTH        ),                        .pmi_datab_width           (CWIDTH        ),                        .pmi_additional_pipeline   (1             ),                        .pmi_input_reg             ("on"          ),                        .pmi_output_reg            ("on"          ),                        .pmi_family                (FAMILY        ),                        .pmi_gsr                   ("enable"      ),                        .pmi_source_control_a      ("parallel"    ),                        .pmi_source_control_b      ("parallel"    ),                        .pmi_reg_inputa_clk        ("CLK0"        ),                        .pmi_reg_inputa_ce         ("CE0"         ),                        .pmi_reg_inputa_rst        ("RST0"        ),                        .pmi_reg_inputb_clk        ("CLK0"        ),                        .pmi_reg_inputb_ce         ("CE0"         ),                        .pmi_reg_inputb_rst        ("RST0"        ),                        .pmi_reg_pipeline_clk      ("CLK0"        ),                        .pmi_reg_pipeline_ce       ("CE0"         ),                        .pmi_reg_pipeline_rst      ("RST0"        ),                        .pmi_reg_output_clk        ("CLK0"        ),                        .pmi_reg_output_ce         ("CE0"         ),                        .pmi_reg_output_rst        ("RST0"        ),                        .pmi_reg_signeda_clk       ("CLK0"        ),                        .pmi_reg_signeda_ce        ("CE0"         ),                        .pmi_reg_signeda_rst       ("RST0"        ),                        .pmi_reg_signedb_clk       ("CLK0"        ),                        .pmi_reg_signedb_ce        ("CE0"         ),                        .pmi_reg_signedb_rst       ("RST0"        ),                        .module_type               ("pmi_dsp_mult"))         ay56e22(.A        (qi9792b[0]       ),                 .B        (ls2564a[0]       ),                 .SRIA     ({18{1'b0}}    ),                 .SRIB     ({18{1'b0}}    ),                 .CLK0     (clk           ),                 .CLK1     (clk           ),                 .CLK2     (clk           ),                 .CLK3     (clk           ),                 .CE0      (ce            ),                 .CE1      (ce            ),                 .CE2      (ce            ),                 .CE3      (ce            ),                 .RST0     (~rstn         ),                 .RST1     (~rstn         ),                 .RST2     (~rstn         ),                 .RST3     (~rstn         ),                 .SignA    (hbf6332         ),                 .SignB    (xwfec66         ),                 .SourceA  (1'b0          ),                 .SourceB  (1'b0          ),                 .SROA     (              ),                 .SROB     (              ),                 .P        (fncd61f[0]       ));         pmi_dsp_mult #(.pmi_dataa_width           (DWIDTH        ),                        .pmi_datab_width           (CWIDTH        ),                        .pmi_additional_pipeline   (1             ),                        .pmi_input_reg             ("on"          ),                        .pmi_output_reg            ("on"          ),                        .pmi_family                (FAMILY        ),                        .pmi_gsr                   ("enable"      ),                        .pmi_source_control_a      ("parallel"    ),                        .pmi_source_control_b      ("parallel"    ),                        .pmi_reg_inputa_clk        ("CLK0"        ),                        .pmi_reg_inputa_ce         ("CE0"         ),                        .pmi_reg_inputa_rst        ("RST0"        ),                        .pmi_reg_inputb_clk        ("CLK0"        ),                        .pmi_reg_inputb_ce         ("CE0"         ),                        .pmi_reg_inputb_rst        ("RST0"        ),                        .pmi_reg_pipeline_clk      ("CLK0"        ),                        .pmi_reg_pipeline_ce       ("CE0"         ),                        .
pmi_reg_pipeline_rst      ("RST0"        ),                        .pmi_reg_output_clk        ("CLK0"        ),                        .pmi_reg_output_ce         ("CE0"         ),                        .pmi_reg_output_rst        ("RST0"        ),                        .pmi_reg_signeda_clk       ("CLK0"        ),                        .pmi_reg_signeda_ce        ("CE0"         ),                        .pmi_reg_signeda_rst       ("RST0"        ),                        .pmi_reg_signedb_clk       ("CLK0"        ),                        .pmi_reg_signedb_ce        ("CE0"         ),                        .pmi_reg_signedb_rst       ("RST0"        ),                        .module_type               ("pmi_dsp_mult"))         uic475e(.A        (qi9792b[1]       ),                 .B        (ls2564a[1]       ),                 .SRIA     ({18{1'b0}}    ),                 .SRIB     ({18{1'b0}}    ),                 .CLK0     (clk           ),                 .CLK1     (clk           ),                 .CLK2     (clk           ),                 .CLK3     (clk           ),                 .CE0      (ce            ),                 .CE1      (ce            ),                 .CE2      (ce            ),                 .CE3      (ce            ),                 .RST0     (~rstn         ),                 .RST1     (~rstn         ),                 .RST2     (~rstn         ),                 .RST3     (~rstn         ),                 .SignA    (hbf6332         ),                 .SignB    (xwfec66         ),                 .SourceA  (1'b0          ),                 .SourceB  (1'b0          ),                 .SROA     (              ),                 .SROB     (              ),                 .P        (fncd61f[1]       ));         for (cbaee3e=0;cbaee3e<2;cbaee3e=cbaee3e+1) begin:dob2182            always @(posedge clk or negedge rstn)            begin               if (!rstn)                  uk1fd9c[cbaee3e] <= {(DWIDTH+CWIDTH){1'b0}};               else if (os771f5) begin                  if (lsb8fa9)                     uk1fd9c[cbaee3e] <= {(DWIDTH+CWIDTH){1'b0}};                  else                     uk1fd9c[cbaee3e] <= fncd61f[cbaee3e];               end            end         end         always @(posedge clk or negedge rstn)         begin            if (!rstn)               lq57f6f <= {(DWIDTH+CWIDTH+1){1'b0}};            else if(os771f5) begin               if (lsb8fa9)                  lq57f6f <= {(DWIDTH+CWIDTH+1){1'b0}};               else if (DTYPE=="SIGNED" || CTYPE=="SIGNED")                  lq57f6f <= {uk1fd9c[0][DWIDTH+CWIDTH-1],uk1fd9c[0]}+{uk1fd9c[1][DWIDTH+CWIDTH-1],uk1fd9c[1]};               else                  lq57f6f <= {1'b0,uk1fd9c[0]}+{1'b0,uk1fd9c[1]};            end         end         assign pf4f187 = pf40975;      end   end else begin:kdd6c84      if (DWIDTH <= 18 && CWIDTH <= 18) begin         for (cbaee3e=0;cbaee3e<(wl8f72c/4);cbaee3e=cbaee3e+1) begin:ay5ceec            if(FAMILY=="ECP3") begin               pmi_dsp_multaddsub #(.pmi_dataa_width           (DWIDTH              ),                                    .pmi_datab_width           (CWIDTH              ),                                    .pmi_additional_pipeline   (1                   ),                                    .pmi_input_reg             ("on"                ),                                    .pmi_output_reg            ("on"                ),                                    .pmi_family                (FAMILY              ),                                    .pmi_gsr                   ("enable"            ),                                    .pmi_source_control_a0     ("parallel"          ),                                    .pmi_source_control_a1     ("parallel"          ),                                    .pmi_source_control_b0     ("parallel"          ),                                    .pmi_source_control_b1     ("parallel"          ),                                    .module_type               ("pmi_dsp_multaddsub"))               of60837            (.A0               (qi9792b[cbaee3e*4+0] ),                                    .A1               (qi9792b[cbaee3e*4+1] ),                                    .B0               (ls2564a[cbaee3e*4+0] ),                                    .B1               (ls2564a[cbaee3e*4+1] ),                                    .SRIA             ({18{1'b0}}    ),                                    .SRIB             ({18{1'b0}}    ),                                    .CLK0             (clk           ),                                    .CLK1             (clk           ),                                    .CLK2             (clk           ),                                    .CLK3             (clk           ),                                    .CE0              (ce            ),                                    .CE1              (ce            ),                                    .CE2              (ce            ),                                    .CE3              (ce            ),                                    .RST0             (~rstn         ),                                    .RST1             (~rstn         ),                                    .RST2             (~rstn         ),                                    .RST3             (~rstn         ),                                    .SignA            (hbf6332         ),                                    .SignB            (xwfec66         ),                                    .ShiftA0          (1'b0          ),                                    .ShiftA1          (1'b0          ),                                    .ShiftB0          (1'b0          ),                                    .ShiftB1          (1'b0          ),                                    .SROA             (              ),                                    .SROB             (              ),                                    .ADDNSUB          (1'b1          ),                                    .SUM              (ls9c2b8[cbaee3e][DWIDTH+CWIDTH:0]));               pmi_dsp_multaddsub #(.pmi_dataa_width           (DWIDTH              ),                                    .pmi_datab_width           (CWIDTH              ),                                    .pmi_additional_pipeline   (1                   ),                                    .pmi_input_reg             ("on"                ),                                    .pmi_output_reg            ("on"                ),                                    .pmi_family                (FAMILY              ),                                    .pmi_gsr                   ("enable"            ),                                    .pmi_source_control_a0     ("parallel"          ),                                    .pmi_source_control_a1     ("parallel"          ),                                    .pmi_source_control_b0     ("parallel"          ),                                    .pmi_source_control_b1     ("parallel"          ),                                    .module_type               ("pmi_dsp_multaddsub"))               ph81974            (.A0               (qi9792b[cbaee3e*4+2] ),                                    .A1               (qi9792b[cbaee3e*4+3] ),                                    .B0               (ls2564a[cbaee3e*4+2] ),                                    .B1               (ls2564a[cbaee3e*4+3] ),                                    .SRIA             ({18{1'b0}}    ),                                    .SRIB             ({18{1'b0}}    ),                                    .CLK0             (clk           ),                                    .CLK1             (clk           ),                                    .CLK2             (clk           ),                                    .CLK3             (clk           ),                                    .CE0              (ce            ),                                    .CE1              (ce            ),                                    .CE2              (ce            ),                                    .CE3              (ce            ),                                    .RST0             (~rstn         ),
                                    .RST1             (~rstn         ),                                    .RST2             (~rstn         ),                                    .RST3             (~rstn         ),                                    .SignA            (hbf6332         ),                                    .SignB            (xwfec66         ),                                    .ShiftA0          (1'b0          ),                                    .ShiftA1          (1'b0          ),                                    .ShiftB0          (1'b0          ),                                    .ShiftB1          (1'b0          ),                                    .SROA             (              ),                                    .SROB             (              ),                                    .ADDNSUB          (1'b1          ),                                    .SUM              (vkb86c2[cbaee3e][DWIDTH+CWIDTH:0]));               if (DTYPE=="SIGNED" || CTYPE=="SIGNED") begin                  assign ls9c2b8 [cbaee3e][DWIDTH+CWIDTH+1] = ls9c2b8 [cbaee3e][DWIDTH+CWIDTH];                  assign vkb86c2[cbaee3e][DWIDTH+CWIDTH+1] = vkb86c2[cbaee3e][DWIDTH+CWIDTH];               end else begin                  assign ls9c2b8 [cbaee3e][DWIDTH+CWIDTH+1] = 1'b0;                  assign vkb86c2[cbaee3e][DWIDTH+CWIDTH+1] = 1'b0;               end            end else begin               pmi_dsp_multaddsubsum #(.pmi_dataa_width           (DWIDTH                 ),                                       .pmi_datab_width           (CWIDTH                 ),                                       .pmi_additional_pipeline   (1                      ),                                       .pmi_input_reg             ("on"                   ),                                       .pmi_output_reg            ("on"                   ),                                       .pmi_family                (FAMILY                 ),                                       .pmi_gsr                   ("enable"               ),                                       .module_type               ("pmi_dsp_multaddsubsum"))                           an3388f ( .A0            (qi9792b[cbaee3e*4+0]     ),                                       .A1            (qi9792b[cbaee3e*4+1]     ),                                       .A2            (qi9792b[cbaee3e*4+2]     ),                                       .A3            (qi9792b[cbaee3e*4+3]     ),                                       .B0            (ls2564a[cbaee3e*4+0]     ),                                       .B1            (ls2564a[cbaee3e*4+1]     ),                                       .B2            (ls2564a[cbaee3e*4+2]     ),                                       .B3            (ls2564a[cbaee3e*4+3]     ),                                       .SRIA          ({18{1'b0}}       ),                                       .SRIB          ({18{1'b0}}       ),                                       .CLK0          (clk              ),                                       .CLK1          (clk              ),                                       .CLK2          (clk              ),                                       .CLK3          (clk              ),                                       .CE0           (ce               ),                                       .CE1           (ce               ),                                       .CE2           (ce               ),                                       .CE3           (ce               ),                                       .RST0          (~rstn            ),                                       .RST1          (~rstn            ),                                       .RST2          (~rstn            ),                                       .RST3          (~rstn            ),                                       .SignA         (hbf6332            ),                                       .SignB         (xwfec66            ),                                       .ShiftA0       (1'b0             ),                                       .ShiftA1       (1'b0             ),                                       .ShiftA2       (1'b0             ),                                       .ShiftA3       (1'b0             ),                                       .ShiftB0       (1'b0             ),                                       .ShiftB1       (1'b0             ),                                       .ShiftB2       (1'b0             ),                                       .ShiftB3       (1'b0             ),                                       .ADDNSUB1      (1'b1             ),                                       .ADDNSUB3      (1'b1             ),                                       .SUM           (ls9c2b8[cbaee3e]        ),                                       .SROA          (                 ),                                       .SROB          (                 ));            end         end         if (wl8f72c%4 == 3) begin            pmi_dsp_multaddsub #(.pmi_dataa_width           (DWIDTH              ),                                 .pmi_datab_width           (CWIDTH              ),                                 .pmi_additional_pipeline   (1                   ),                                 .pmi_input_reg             ("on"                ),                                 .pmi_output_reg            ("on"                ),                                 .pmi_family                (FAMILY              ),                                 .pmi_gsr                   ("enable"            ),                                 .pmi_source_control_a0     ("parallel"          ),                                 .pmi_source_control_a1     ("parallel"          ),                                 .pmi_source_control_b0     ("parallel"          ),                                 .pmi_source_control_b1     ("parallel"          ),                                 .module_type               ("pmi_dsp_multaddsub"))                          ls9c6d5(.A0               (qi9792b[wl8f72c-3] ),                                 .A1               (qi9792b[wl8f72c-2] ),                                 .B0               (ls2564a[wl8f72c-3] ),                                 .B1               (ls2564a[wl8f72c-2] ),                                 .SRIA             ({18{1'b0}}    ),                                 .SRIB             ({18{1'b0}}    ),                                 .CLK0             (clk           ),                                 .CLK1             (clk           ),                                 .CLK2             (clk           ),                                 .CLK3             (clk           ),                                 .CE0              (ce            ),                                 .CE1              (ce            ),                                 .CE2              (ce            ),                                 .CE3              (ce            ),                                 .RST0             (~rstn         ),                                 .RST1             (~rstn         ),                                 .RST2             (~rstn         ),                                 .RST3             (~rstn         ),                                 .SignA            (hbf6332         ),                                 .SignB            (xwfec66         ),                                 .ShiftA0          (1'b0          ),                                 .ShiftA1          (1'b0          ),                                 .ShiftB0          (1'b0          ),                                 .ShiftB1          (1'b0          ),                                 .SROA             (              ),                                 .SROB             (              ),                                 .ADDNSUB          (1'b1          ),                                 .SUM              (ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH:0]));            if (DTYPE=="SIGNED" || CTYPE=="SIGNED") begin               assign ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH+1] = ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH];            end else begin               assign ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH+1] 
= 1'b0;            end            pmi_dsp_mult #(.pmi_dataa_width           (DWIDTH        ),                           .pmi_datab_width           (CWIDTH        ),                           .pmi_additional_pipeline   (1             ),                           .pmi_input_reg             ("on"          ),                           .pmi_output_reg            ("on"          ),                           .pmi_family                (FAMILY        ),                           .pmi_gsr                   ("enable"      ),                           .pmi_source_control_a      ("parallel"    ),                           .pmi_source_control_b      ("parallel"    ),                           .module_type               ("pmi_dsp_mult"))            ay56e22(.A        (qi9792b[wl8f72c-1] ),                    .B        (ls2564a[wl8f72c-1] ),                    .SRIA     ({18{1'b0}}    ),                    .SRIB     ({18{1'b0}}    ),                    .CLK0     (clk           ),                    .CLK1     (clk           ),                    .CLK2     (clk           ),                    .CLK3     (clk           ),                    .CE0      (ce            ),                    .CE1      (ce            ),                    .CE2      (ce            ),                    .CE3      (ce            ),                    .RST0     (~rstn         ),                    .RST1     (~rstn         ),                    .RST2     (~rstn         ),                    .RST3     (~rstn         ),                    .SignA    (hbf6332         ),                    .SignB    (xwfec66         ),                    .SourceA  (1'b0          ),                    .SourceB  (1'b0          ),                    .SROA     (              ),                    .SROB     (              ),                    .P        (ls9c2b8[(wl8f72c/4)+1][DWIDTH+CWIDTH-1:0]));            if (DTYPE=="SIGNED" || CTYPE=="SIGNED") begin               assign ls9c2b8[(wl8f72c/4)+1][DWIDTH+CWIDTH+1] = ls9c2b8[(wl8f72c/4)+1][DWIDTH+CWIDTH-1];               assign ls9c2b8[(wl8f72c/4)+1][DWIDTH+CWIDTH  ] = ls9c2b8[(wl8f72c/4)+1][DWIDTH+CWIDTH-1];            end else begin               assign ls9c2b8[(wl8f72c/4)+1][DWIDTH+CWIDTH+1] = 1'b0;               assign ls9c2b8[(wl8f72c/4)+1][DWIDTH+CWIDTH  ] = 1'b0;            end         end else if (wl8f72c%4 == 2) begin            pmi_dsp_multaddsub #(.pmi_dataa_width           (DWIDTH              ),                                 .pmi_datab_width           (CWIDTH              ),                                 .pmi_additional_pipeline   (1                   ),                                 .pmi_input_reg             ("on"                ),                                 .pmi_output_reg            ("on"                ),                                 .pmi_family                (FAMILY              ),                                 .pmi_gsr                   ("enable"            ),                                 .pmi_source_control_a0     ("parallel"          ),                                 .pmi_source_control_a1     ("parallel"          ),                                 .pmi_source_control_b0     ("parallel"          ),                                 .pmi_source_control_b1     ("parallel"          ),                                 .module_type               ("pmi_dsp_multaddsub"))                          ls9c6d5(.A0               (qi9792b[wl8f72c-2] ),                                 .A1               (qi9792b[wl8f72c-1] ),                                 .B0               (ls2564a[wl8f72c-2] ),                                 .B1               (ls2564a[wl8f72c-1] ),                                 .SRIA             ({18{1'b0}}    ),                                 .SRIB             ({18{1'b0}}    ),                                 .CLK0             (clk           ),                                 .CLK1             (clk           ),                                 .CLK2             (clk           ),                                 .CLK3             (clk           ),                                 .CE0              (ce            ),                                 .CE1              (ce            ),                                 .CE2              (ce            ),                                 .CE3              (ce            ),                                 .RST0             (~rstn         ),                                 .RST1             (~rstn         ),                                 .RST2             (~rstn         ),                                 .RST3             (~rstn         ),                                 .SignA            (hbf6332         ),                                 .SignB            (xwfec66         ),                                 .ShiftA0          (1'b0          ),                                 .ShiftA1          (1'b0          ),                                 .ShiftB0          (1'b0          ),                                 .ShiftB1          (1'b0          ),                                 .SROA             (              ),                                 .SROB             (              ),                                 .ADDNSUB          (1'b1          ),                                 .SUM              (ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH:0]));            if (DTYPE=="SIGNED" || CTYPE=="SIGNED") begin               assign ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH+1] = ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH];            end else begin               assign ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH+1] = 1'b0;            end         end else if (wl8f72c%4 == 1) begin            pmi_dsp_mult #(.pmi_dataa_width           (DWIDTH        ),                           .pmi_datab_width           (CWIDTH        ),                           .pmi_additional_pipeline   (1             ),                           .pmi_input_reg             ("on"          ),                           .pmi_output_reg            ("on"          ),                           .pmi_family                (FAMILY        ),                           .pmi_gsr                   ("enable"      ),                           .pmi_source_control_a      ("parallel"    ),                           .pmi_source_control_b      ("parallel"    ),                           .module_type               ("pmi_dsp_mult"))            ay56e22(.A        (qi9792b[wl8f72c-1] ),                    .B        (ls2564a[wl8f72c-1] ),                    .SRIA     ({18{1'b0}}    ),                    .SRIB     ({18{1'b0}}    ),                    .CLK0     (clk           ),                    .CLK1     (clk           ),                    .CLK2     (clk           ),                    .CLK3     (clk           ),                    .CE0      (ce            ),                    .CE1      (ce            ),                    .CE2      (ce            ),                    .CE3      (ce            ),                    .RST0     (~rstn         ),                    .RST1     (~rstn         ),                    .RST2     (~rstn         ),                    .RST3     (~rstn         ),                    .SignA    (hbf6332         ),                    .SignB    (xwfec66         ),                    .SourceA  (1'b0          ),                    .SourceB  (1'b0          ),                    .SROA     (              ),                    .SROB     (              ),                    .P        (ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH-1:0]));            if (DTYPE=="SIGNED" || CTYPE=="SIGNED") begin               assign ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH+1] = ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH-1];               assign ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH  ] = ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH-1];            end else begin               assign ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH+1] = 1'b0;               assign ls9c2b8[wl8f72c/4][DWIDTH+CWIDTH  ] = 1'b0;            end         end         if(FAMILY=="ECP3" && ((wl8f72c%4) > 0)) begin            assign vkb86c2[wl8f72c/4] = {(DWIDTH+CWIDTH+2){1'b0}};         end         for (cbaee3e=0;cbaee3e<(wl8f72c+3)/4;cbaee3e=cbaee3e+1) begin:qv9a07f            always @(posedge clk or negedge rstn)            begin               if (!rstn)                  thc2557[cbaee3e] <= {(
DWIDTH+CWIDTH+2){1'b0}};               else if (os771f5) begin                  if (lsb8fa9)                     thc2557[cbaee3e] <= {(DWIDTH+CWIDTH+2){1'b0}};                  else if (cbaee3e==(((wl8f72c+3)/4)-1) && (wl8f72c%4==3))                     thc2557[cbaee3e] <= ls9c2b8[cbaee3e] + ls9c2b8[cbaee3e+1];                  else if(FAMILY=="ECP3")                     thc2557[cbaee3e] <= ls9c2b8[cbaee3e] + vkb86c2[cbaee3e];                  else                     thc2557[cbaee3e] <= ls9c2b8[cbaee3e];               end            end            assign wjfdbde[cbaee3e] = thc2557[cbaee3e];         end      end else begin         for (cbaee3e=0;cbaee3e<wl8f72c;cbaee3e=cbaee3e+1) begin:alf2550            pmi_dsp_mult #(.pmi_dataa_width           (DWIDTH        ),                           .pmi_datab_width           (CWIDTH        ),                           .pmi_additional_pipeline   (1             ),                           .pmi_input_reg             ("on"          ),                           .pmi_output_reg            ("on"          ),                           .pmi_family                (FAMILY        ),                           .pmi_gsr                   ("enable"      ),                           .pmi_source_control_a      ("parallel"    ),                           .pmi_source_control_b      ("parallel"    ),                           .pmi_reg_inputa_clk        ("CLK0"        ),                           .pmi_reg_inputa_ce         ("CE0"         ),                           .pmi_reg_inputa_rst        ("RST0"        ),                           .pmi_reg_inputb_clk        ("CLK0"        ),                           .pmi_reg_inputb_ce         ("CE0"         ),                           .pmi_reg_inputb_rst        ("RST0"        ),                           .pmi_reg_pipeline_clk      ("CLK0"        ),                           .pmi_reg_pipeline_ce       ("CE0"         ),                           .pmi_reg_pipeline_rst      ("RST0"        ),                           .pmi_reg_output_clk        ("CLK0"        ),                           .pmi_reg_output_ce         ("CE0"         ),                           .pmi_reg_output_rst        ("RST0"        ),                           .pmi_reg_signeda_clk       ("CLK0"        ),                           .pmi_reg_signeda_ce        ("CE0"         ),                           .pmi_reg_signeda_rst       ("RST0"        ),                           .pmi_reg_signedb_clk       ("CLK0"        ),                           .pmi_reg_signedb_ce        ("CE0"         ),                           .pmi_reg_signedb_rst       ("RST0"        ),                           .module_type               ("pmi_dsp_mult"))            uic475e(.A        (qi9792b[cbaee3e]      ),                    .B        (ls2564a[cbaee3e]      ),                    .SRIA     ({18{1'b0}}    ),                    .SRIB     ({18{1'b0}}    ),                    .CLK0     (clk           ),                    .CLK1     (clk           ),                    .CLK2     (clk           ),                    .CLK3     (clk           ),                    .CE0      (ce            ),                    .CE1      (ce            ),                    .CE2      (ce            ),                    .CE3      (ce            ),                    .RST0     (~rstn         ),                    .RST1     (~rstn         ),                    .RST2     (~rstn         ),                    .RST3     (~rstn         ),                    .SignA    (hbf6332         ),                    .SignB    (xwfec66         ),                    .SourceA  (1'b0          ),                    .SourceB  (1'b0          ),                    .SROA     (              ),                    .SROB     (              ),                    .P        (fncd61f[cbaee3e]      ));         end         for (cbaee3e=0;cbaee3e<wl8f72c;cbaee3e=cbaee3e+1) begin:dob2182            always @(posedge clk or negedge rstn)            begin               if (!rstn)                  uk1fd9c[cbaee3e] <= {(DWIDTH+CWIDTH){1'b0}};               else if (os771f5) begin                  if (lsb8fa9)                     uk1fd9c[cbaee3e] <= {(DWIDTH+CWIDTH){1'b0}};                  else                     uk1fd9c[cbaee3e] <= fncd61f[cbaee3e];               end            end         end         for (cbaee3e=0;cbaee3e<(wl8f72c+1)/2;cbaee3e=cbaee3e+1) begin:lq6c60f            always @(posedge clk or negedge rstn)            begin               if (!rstn)                  sudeb26[cbaee3e] <= {(DWIDTH+CWIDTH+1){1'b0}};               else if (os771f5) begin                  if (lsb8fa9)                     sudeb26[cbaee3e] <= {(DWIDTH+CWIDTH+1){1'b0}};                  else if (DTYPE=="SIGNED" || CTYPE=="SIGNED") begin                     if (cbaee3e==(wl8f72c+1)/2-1 && wl8f72c%2==1)                        sudeb26[cbaee3e] <= {uk1fd9c[cbaee3e*2][DWIDTH+CWIDTH-1],uk1fd9c[cbaee3e*2]};                     else                        sudeb26[cbaee3e] <= {uk1fd9c[cbaee3e*2][DWIDTH+CWIDTH-1],uk1fd9c[cbaee3e*2]}+{uk1fd9c[cbaee3e*2+1][DWIDTH+CWIDTH-1],uk1fd9c[cbaee3e*2+1]};                  end else begin                     if (cbaee3e==(wl8f72c+1)/2-1 && wl8f72c%2==1)                        sudeb26[cbaee3e] <= {1'b0,uk1fd9c[cbaee3e*2]};                     else                        sudeb26[cbaee3e] <= {1'b0,uk1fd9c[cbaee3e*2]}+{1'b0,uk1fd9c[cbaee3e*2+1]};                  end               end            end         end         for (cbaee3e=0;cbaee3e<((wl8f72c+1)/2+1)/2;cbaee3e=cbaee3e+1) begin:gq97b92            always @(posedge clk or negedge rstn)            begin               if (!rstn)                  mt26246[cbaee3e] <= {(DWIDTH+CWIDTH+2){1'b0}};               else if (os771f5) begin                  if (lsb8fa9)                     mt26246[cbaee3e] <= {(DWIDTH+CWIDTH+2){1'b0}};                  else if (DTYPE=="SIGNED" || CTYPE=="SIGNED") begin                     if (cbaee3e==((((wl8f72c+1)/2+1)/2)-1) && ((((wl8f72c+1)/2)%2)==1))                        mt26246[cbaee3e] <= {sudeb26[cbaee3e*2][DWIDTH+CWIDTH],sudeb26[cbaee3e*2]};                     else                        mt26246[cbaee3e] <= {sudeb26[cbaee3e*2][DWIDTH+CWIDTH],sudeb26[cbaee3e*2]}+{sudeb26[cbaee3e*2+1][DWIDTH+CWIDTH],sudeb26[cbaee3e*2+1]};                  end else begin                     if (cbaee3e==((((wl8f72c+1)/2+1)/2)-1) && ((((wl8f72c+1)/2)%2)==1))                        mt26246[cbaee3e] <= {1'b0,sudeb26[cbaee3e*2]};                     else                        mt26246[cbaee3e] <= {1'b0,sudeb26[cbaee3e*2]}+{1'b0,sudeb26[cbaee3e*2+1]};                  end               end            end         end         for (cbaee3e=0;cbaee3e<(wl8f72c+3)/4;cbaee3e=cbaee3e+1) begin:jraa012            assign wjfdbde[cbaee3e] = mt26246[cbaee3e];         end      end      if (wl8f72c <= 4) begin:lsb796b         assign pf4f187 = wjfdbde[0];      end else begin:hd2d688          assign pf4f187 = ps48d02[ux36e0d-2][0];         for (cbaee3e=0;cbaee3e<(1<<(ux36e0d-2));cbaee3e=cbaee3e+1) begin:fc8943c            if (cbaee3e >= ((wl8f72c+3)/4))               assign ps48d02[0][cbaee3e] = {ird8d1{1'b0}};            else               assign ps48d02[0][cbaee3e] = wjfdbde[cbaee3e];         end         for (cbaee3e=0;cbaee3e<(ux36e0d-2);cbaee3e=cbaee3e+1) begin:al7ac57            for (ay5313f=0;ay5313f<(1<<(ux36e0d-cbaee3e-3));ay5313f=ay5313f+1) begin:sw248ca               ec24650_Bicubic2D #(.DWIDTH     (ird8d1+cbaee3e),                        .DTYPE      ((DTYPE=="SIGNED" || CTYPE=="SIGNED") ? "SIGNED":"UNSIGNED"))               yk677ff (.rstn    (rstn       ),                        .clk     (clk        ),                        .ce      (os771f5         ),                        .sr      (lsb8fa9         ),                        .qi2e3e6    (ps48d02[cbaee3e  ][ay5313f*2  ][ird8d1+cbaee3e-1:0]),                        .vv71f30    (ps48d02[cbaee3e  ][ay5313f*2+1][ird8d1+cbaee3e-1:0]),                        .dout    (ps48d02[cbaee3e+1][ay5313f    ][ird8d1+cbaee3e  :0]));            end         end      end   end
end
endgenerate
generate   assign ui53067 = {sw3141e{1'b0}};   if ((sj2cba0>1) && (wl8f72c>1)) begin:ph37521      always @(posedge clk or negedge rstn)      begin         if (!rstn)            shc94c1 <= {sw3141e{1'b0}};         else if (os771f5) begin            if (lsb8fa9)               shc94c1 <= {sw3141e{1'b0}};            else if (vv7ee46[fa73342-2] && ep80320[fa73342-2]) begin               if (DTYPE=="SIGNED" || CTYPE=="SIGNED")                  shc94c1 <= fa47132 + {{(sw3141e-aa1a35a){wjccee7[aa1a35a-1]}},wjccee7};               else                  shc94c1 <= fa47132 + {{(sw3141e-aa1a35a){            1'b0}},wjccee7};            end else if (ep80320[fa73342-2]) begin               if (DTYPE=="SIGNED" || CTYPE=="SIGNED")                  shc94c1 <= vxb51c4 + {{(sw3141e-aa1a35a){wjccee7[aa1a35a-1]}},wjccee7};               else                  shc94c1 <= vxb51c4 + {{(sw3141e-aa1a35a){            1'b0}},wjccee7};            end         end      end   end
endgenerate
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];of5e00c<={din>>1,hq208ff[2]};fp8b9d6<={xyb8b0>>1,hq208ff[3]};su5ceb6<=hq208ff[4];cze75b0<=hq208ff[5];hq3ad84<=hq208ff[6];zx7b7ca<=hq208ff[7];swa9780<={xwcf0c0>>1,hq208ff[8]};vx8454f<=hq208ff[9];ph22a7e<=hq208ff[10];ep80320<={mtbe7aa>>1,hq208ff[11]};vv7ee46<={lf32f5a>>1,hq208ff[12]};aab91b5<={zmbd6b1>>1,hq208ff[13]};lfc823<={jr9eaae>>1,hq208ff[14]};vxb51c4<={shc94c1>>1,hq208ff[15]};fa47132<={ui53067>>1,hq208ff[16]};ux264f9<={tjce09>>1,hq208ff[17]};cb9f33b<={uic13c6>>1,hq208ff[18]};wjccee7<={pf4f187>>1,hq208ff[19]};gq3b9e8<={shc61f9>>1,hq208ff[20]};ofe7a04<={ym87e6b>>1,hq208ff[21]};pf40975<={lq57f6f>>1,hq208ff[22]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=din[0];vv6411f[2044]<=xyb8b0[0];vv6411f[2040]<=go5c582;vv6411f[2033]<=ofe2c11;vv6411f[2019]<=fp1608d;vv6411f[1991]<=dvalid_in;vv6411f[1934]<=xwcf0c0[0];vv6411f[1892]<=shc61f9[0];vv6411f[1851]<=shc94c1[0];vv6411f[1820]<=xwfec66;vv6411f[1737]<=ym87e6b[0];vv6411f[1654]<=ui53067[0];vv6411f[1593]<=hbf6332;vv6411f[1426]<=lq57f6f[0];vv6411f[1260]<=tjce09[0];vv6411f[1139]<=mtbe7aa[0];vv6411f[1023]<=ce;vv6411f[946]<=pf4f187[0];vv6411f[925]<=jr9eaae[0];vv6411f[473]<=uic13c6[0];vv6411f[462]<=zmbd6b1[0];vv6411f[231]<=lf32f5a[0];end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module ec24650_Bicubic2D (rstn,
               clk,
               ce,
               sr,
               qi2e3e6,
               vv71f30,
               dout
            );
parameter   DWIDTH   = 32;
parameter   DTYPE    = "SIGNED";
localparam  hbe3cc4   = DWIDTH+1;
input                   rstn;
input                   clk;
input                   ce;
input                   sr;
input [DWIDTH-1:0]      qi2e3e6;
input [DWIDTH-1:0]      vv71f30;
output[hbe3cc4-1:0]      dout;
reg   [hbe3cc4-1:0]      dout;
reg os771f5;
reg lsb8fa9;
reg [DWIDTH - 1 : 0] mgbc9d5;
reg [DWIDTH - 1 : 0] lf2754a;
reg [2047:0] vv6411f;
wire [3:0] hq208ff;
localparam vk47fa = 4,oh23fd2 = 32'hfdffc70b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
always @(posedge clk or negedge rstn)
begin   if (!rstn)      dout <= {(DWIDTH+1){1'b0}};   else if(os771f5) begin      if (lsb8fa9)         dout <= {(DWIDTH+1){1'b0}};      else if (DTYPE == "SIGNED")         dout <= {mgbc9d5[DWIDTH-1],mgbc9d5}+{lf2754a[DWIDTH-1],lf2754a};      else         dout <= {1'b0,mgbc9d5}+{1'b0,lf2754a};   end
end
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];mgbc9d5<={qi2e3e6>>1,hq208ff[2]};lf2754a<={vv71f30>>1,hq208ff[3]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=qi2e3e6[0];vv6411f[2044]<=vv71f30[0];vv6411f[1023]<=ce;end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module the9161_Bicubic2D(
                  clk,
                  rstn,
                  ce, 
                  sr, 
                  xyb8b0,
                  din, 
                  frmsync_in, 
                  dvalid_in, 
                  go5c582,
                  ofe2c11,
                  jr8e757,
                  dout, 
                  dvalid_out, 
                  ldfcc10,
                  frmsync_out);
parameter   NUM_PLANE      = 1;
parameter   DWIDTH         = 8;
parameter   CWIDTH         = 8;
parameter   VFTAPS         = 4;
parameter   KERNEL         = "LANCZOS";
parameter   pf5f254     = 1;
parameter   PARALLEL       = "TRUE";
parameter   YCBCR422       = "TRUE";
parameter   DOUTWIDTH      = 8;
parameter   DTYPE          = "UNSIGNED";
parameter   CTYPE          = "UNSIGNED";
parameter   OTYPE          = "UNSIGNED";
parameter   DIN_POINTS     = 0;
parameter   COEFF_POINTS   = 0;
parameter   DOUT_POINTS    = 0;
parameter   MSB_METHOD     = "SATURATION";
parameter   LSB_METHOD     = "NORMAL";
parameter   uiea1f0        = 8;
parameter   FAMILY         = "ECP2";
localparam  fa489ed     = (PARALLEL=="FALSE") ? 1 : ((YCBCR422=="TRUE") ? 2 : NUM_PLANE);
localparam  gbed77f     = (PARALLEL== "TRUE") ? 1 : ((YCBCR422=="TRUE") ? 2 : NUM_PLANE);
localparam  en7fbd1        = fa489ed*DOUTWIDTH;
localparam  ip7a328     = DWIDTH + CWIDTH + gd17093(VFTAPS-1);
localparam  nr450ee      = VFTAPS*CWIDTH;
localparam  wl1ddb8      = VFTAPS*DWIDTH;
localparam   xyb711a      = VFTAPS*DWIDTH*fa489ed;
localparam  mg1a6c4     = (VFTAPS<=4) ? 4 : (gd17093(VFTAPS-1)+2);
localparam  icc4136       = 24;
localparam  ng209b0     = ((ip7a328-COEFF_POINTS)+icc4136-1)/icc4136;
localparam  ym8276e      = (LSB_METHOD=="TRUNCATION") ? 1 : ng209b0+2;
localparam  czedc78       = (mg1a6c4+ym8276e);
localparam  gd8f137        = gd17093(czedc78-1);
input                      clk;
input                      rstn;
input                      ce;
input                      sr;
input    [nr450ee-1:0]   xyb8b0;
input     [xyb711a-1:0]   din;
input                      dvalid_in;
input                      go5c582;
input                      ofe2c11;
input                      frmsync_in;
input      [uiea1f0-1:0]   jr8e757;
output     [en7fbd1-1:0]   dout;
output                     dvalid_out;
output                     frmsync_out;
output     [uiea1f0-1:0]   ldfcc10;
wire    [ip7a328-1:0]   uka49a[fa489ed-1:0];
wire                       ie9268a[fa489ed-1:0];
wire                       wl9a282[fa489ed-1:0];
wire       [uiea1f0-1:0]   nr5050d[fa489ed-1:0];
wire     [DOUTWIDTH-1:0]   kfa1bc3[fa489ed-1:0];
wire                       of6f0e5[fa489ed-1:0];
wire                       uvc3960[fa489ed-1:0];
wire       [uiea1f0-1:0]   qv2c130[fa489ed-1:0];
wire       [uiea1f0-9:0]   oh26163;
wire     [wl1ddb8-1:0]   wl858e3[fa489ed-1:0];
genvar cbaee3e,ay5313f;
reg os771f5;
reg lsb8fa9;
reg [nr450ee - 1 : 0] fp8b9d6;
reg [xyb711a - 1 : 0] of5e00c;
reg ykdbe57;
reg zx7b7ca;
reg su5ceb6;
reg cze75b0;
reg [uiea1f0 - 1 : 0] rtc70ed;
reg [uiea1f0 - 9 : 0] enc3b7e;
reg [2047:0] vv6411f;
wire [9:0] hq208ff;
localparam vk47fa = 10,oh23fd2 = 32'hfdffe0cb;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
function [31:0] gd17093;
input [31:0] value;
for (gd17093=0; value>0; gd17093=gd17093+1) value = value>>1;
endfunction
generate   if(VFTAPS==1) begin      assign dout        = of5e00c;      assign dvalid_out  = zx7b7ca;      assign frmsync_out = ykdbe57;      assign ldfcc10  = rtc70ed;   end else begin      assign ldfcc10  = {enc3b7e,qv2c130[0][7:0]};      assign frmsync_out = uvc3960[0];      assign dvalid_out  = of6f0e5[0];      for (cbaee3e=0;cbaee3e<fa489ed;cbaee3e=cbaee3e+1) begin :mr44ea5         for (ay5313f=0;ay5313f<VFTAPS;ay5313f=ay5313f+1) begin :bl6e436            assign wl858e3[cbaee3e][(ay5313f+1)*DWIDTH-1:ay5313f*DWIDTH] = of5e00c[ay5313f*fa489ed*DWIDTH + (cbaee3e+1)*DWIDTH -1 : ay5313f*fa489ed*DWIDTH + cbaee3e*DWIDTH];         end         assign dout[(cbaee3e+1)*DOUTWIDTH-1:cbaee3e*DOUTWIDTH]   = kfa1bc3[cbaee3e];      end      for (cbaee3e=0;cbaee3e<fa489ed;cbaee3e=cbaee3e+1) begin :go46383         goe5538_Bicubic2D #(  .cbb147b        (DWIDTH        ),                        .qv8a3dc        (CWIDTH        ),                        .hbe3cc4        (ip7a328    ),                        .wl8f72c         (VFTAPS        ),                        .fn7b965       (uiea1f0       ),                        .shdcb2e         (DTYPE         ),                        .aye5974         (CTYPE         ),                        .sj2cba0      (pf5f254    ),                        .FAMILY        (FAMILY        ))         ls1d3c       (                          .clk           (clk           ),                        .rstn          (rstn          ),                        .ce            (os771f5            ),                        .sr            (lsb8fa9            ),                        .xyb8b0           (fp8b9d6           ),                        .din           (wl858e3[cbaee3e]     ),                        .dvalid_in     (zx7b7ca     ),                        .go5c582       (su5ceb6       ),                        .ofe2c11     (cze75b0     ),                        .fp1608d    (ykdbe57    ),                        .xwcf0c0       (rtc70ed     ),                                                .dout          (uka49a[cbaee3e]    ),                        .cb180c5   (wl9a282[cbaee3e] ),                        .hoc062d      (nr5050d[cbaee3e]  ),                        .dvalid_out    (ie9268a[cbaee3e]  ));
         rgfe125_Bicubic2D  #(    .DWIDTH        (ip7a328    ),                        .fa58e62      (0             ),                        .psc5abc (MSB_METHOD    ),                        .xl2d5e3 (LSB_METHOD    ),                        .cz6af1f      (CTYPE         ),                        .ps578fd     (OTYPE         ),                        .cobc7eb     (DIN_POINTS    ),                        .vve3f58       (COEFF_POINTS  ),                        .gq1fac7    (DOUT_POINTS   ),                        .lqeb1cc     (uiea1f0       ),                        .DOUTWIDTH     (DOUTWIDTH     ))         pu83df1 (                            .rstn          (rstn          ),                        .clk           (clk           ),                        .ce            (os771f5            ),                        .sr            (lsb8fa9            ),                        .uk2b3c3        (ie9268a[cbaee3e]  ),                        .yk59e18       (wl9a282[cbaee3e] ),                        .din           (uka49a[cbaee3e]    ),                        .xwcf0c0       (nr5050d[cbaee3e]  ),                                                .dvalid_out    (of6f0e5[cbaee3e]    ),                        .cb180c5   (uvc3960[cbaee3e]   ),                        .hoc062d      (qv2c130[cbaee3e]    ),                        .dout          (kfa1bc3[cbaee3e]      ));      end            pmi_distributed_shift_reg  #( .pmi_data_width      (uiea1f0-8  ),                                    .pmi_regmode         ("reg"      ),                                    .pmi_shiftreg_type   ("fixed"    ),                                    .pmi_num_shift       (czedc78-1 ),                                    .pmi_num_width       (gd8f137    ),                                                                        .pmi_max_shift       (czedc78-1 ),                                    .pmi_max_width       (gd8f137    ),                                                                        .pmi_init_file       ("none"     ),                                    .pmi_init_file_format("binary"   ),                                    .pmi_family          (FAMILY     ),                                    .module_type         ("pmi_distributed_shift_reg"))      ri1b037                   ( .Din      (jr8e757[uiea1f0-1:8]),                                    .Addr     ({gd8f137{1'b0}}       ),                                    .Clock    (clk                   ),                                    .ClockEn  (ce                    ),                                    .Reset    (~rstn || sr           ),                                    .Q        (oh26163            ));   end
endgenerate
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];fp8b9d6<={xyb8b0>>1,hq208ff[2]};of5e00c<={din>>1,hq208ff[3]};ykdbe57<=hq208ff[4];zx7b7ca<=hq208ff[5];su5ceb6<=hq208ff[6];cze75b0<=hq208ff[7];rtc70ed<={jr8e757>>1,hq208ff[8]};enc3b7e<={oh26163>>1,hq208ff[9]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=xyb8b0[0];vv6411f[2044]<=din[0];vv6411f[2040]<=frmsync_in;vv6411f[2033]<=dvalid_in;vv6411f[2018]<=go5c582;vv6411f[1988]<=ofe2c11;vv6411f[1929]<=jr8e757[0];vv6411f[1811]<=oh26163[0];vv6411f[1023]<=ce;end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module doa2c8a_Bicubic2D(
                  clk,
                  rstn,
                  ce, 
                  sr, 
                  din, 
                  dvalid_in, 
                  frmsync_in, 
                  jr8e757,
                  dout, 
                  dvalid_out, 
                  frmsync_out);
parameter   SCALER_NAME    = "SCALER";
parameter   NUM_PLANE       = 1;
parameter   VINWIDTH       = 320;
parameter   VOUTWIDTH      = 320;
parameter   KERNEL         = "LANCZOS";
parameter   HFTAPS         = 4;
parameter   HFPHASES       = 256;
parameter   EDGEMODE       = "COPY";
parameter   EDGEVALUE      = 0;
parameter   pf5f254     = 1;
parameter   DOUTWIDTH      = 8;
parameter   DWIDTH         = 8;
parameter   CWIDTH         = 8;
parameter   PARALLEL       = "TRUE";
parameter   YCBCR422       = "TRUE";
parameter   DTYPE          = "UNSIGNED";
parameter   CTYPE          = "UNSIGNED";
parameter   OTYPE          = "UNSIGNED";
parameter   DIN_POINTS     = 0;
parameter   COEFF_POINTS   = 0;
parameter   DOUT_POINTS    = 0;
parameter   MSB_METHOD     = "SATURATION";
parameter   LSB_METHOD     = "NORMAL";
parameter   uiea1f0        = 8;
parameter   SHARE_CMEM     = "TRUE";
parameter   aaa1b        = "EBR";
parameter   FAMILY         = "ECP2M";
localparam  ux36947     = (YCBCR422=="TRUE") ? (HFTAPS+4) : HFTAPS;
localparam  fa489ed     = (PARALLEL=="FALSE") ? 1 : ((YCBCR422=="TRUE") ? 2 : NUM_PLANE);
localparam  gbed77f     = (PARALLEL== "TRUE") ? 1 : ((YCBCR422=="TRUE") ? 2 : NUM_PLANE);
localparam  ww43f2b        = fa489ed*DWIDTH;
localparam  en7fbd1        = fa489ed*DOUTWIDTH;
localparam  lsa2e12        = gd17093(VINWIDTH-1);
localparam  blc864a     = DWIDTH + CWIDTH + gd17093(HFTAPS-1);
localparam  aab6b78        = gd17093(HFPHASES-1);
localparam  rg7cc2c     = HFTAPS*DWIDTH*fa489ed;
localparam  sj2c79d       = HFTAPS*DWIDTH;
localparam  rib827d     = HFTAPS*CWIDTH;
input                      clk;
input                      rstn;
input                      ce;
input                      sr;
input      [ww43f2b-1:0]   din;
input                      dvalid_in;
input                      frmsync_in;
input      [uiea1f0-1:0]   jr8e757;
output     [en7fbd1-1:0]   dout;
output                     dvalid_out;
output                     frmsync_out;
wire    [rib827d-1:0]   me7756f;
wire      [sj2c79d-1:0]   fad5bce[fa489ed-1:0];
wire    [rg7cc2c-1:0]   fa79c94;
wire                       uice4a3;
wire                       me72519;
wire                       uk928c9;
wire                       tj94649;
wire    [blc864a-1:0]   fp19278[fa489ed-1:0];
wire                       ay49e3c[fa489ed-1:0];
wire                       su78f0f[fa489ed-1:0];
wire     [DOUTWIDTH-1:0]   kfa1bc3[fa489ed-1:0];
wire                       of6f0e5[fa489ed-1:0];
wire                       uvc3960[fa489ed-1:0];
genvar cbaee3e,ay5313f;
reg os771f5;
reg lsb8fa9;
reg [ww43f2b - 1 : 0] of5e00c;
reg zx7b7ca;
reg ykdbe57;
reg [uiea1f0 - 1 : 0] rtc70ed;
reg [rib827d - 1 : 0] kddc0b6;
reg [rg7cc2c - 1 : 0] kf2da9;
reg fp16d4c;
reg aab6a67;
reg bnb5338;
reg gqa99c6;
reg [2047:0] vv6411f;
wire [11:0] hq208ff;
localparam vk47fa = 12,oh23fd2 = 32'hfdffd48b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
function [31:0] gd17093;
input [31:0] value;
for (gd17093=0; value>0; gd17093=gd17093+1) value = value>>1;
endfunction
uidb4d7_Bicubic2D #(               .SCALER_NAME   (SCALER_NAME   ),               .NUM_PLANE     (fa489ed    ),               .qi87c88      (gbed77f    ),               .VINWIDTH      (VINWIDTH      ),               .VOUTWIDTH     (VOUTWIDTH     ),               .KERNEL        (KERNEL        ),               .HFTAPS        (ux36947    ),               .HFPHASES      (HFPHASES      ),               .EDGEMODE      (EDGEMODE      ),               .EDGEVALUE     (EDGEVALUE     ),               .DWIDTH        (DWIDTH        ),               .CWIDTH        (CWIDTH        ),               .PARALLEL      (PARALLEL      ),               .YCBCR422      (YCBCR422      ),               .SHARE_CMEM    (SHARE_CMEM    ),               .aaa1b       (aaa1b       ),               .uiea1f0       (uiea1f0       ),               .FAMILY        (FAMILY        ))
qi98763 (                              .clk           (clk           ),               .rstn          (rstn          ),               .ce            (os771f5            ),               .sr            (lsb8fa9            ),               .din           (of5e00c           ),               .frmsync_in    (ykdbe57    ),               .dvalid_in     (zx7b7ca     ),               .jr8e757     (rtc70ed     ),                              .ie989f8          (me7756f       ),               .dout          (fa79c94       ),               .dvalid_out    (uice4a3     ),               .dz50ffc      (me72519       ),               .gq87fe6    (uk928c9     ),               .frmsync_out   (tj94649    ));
generate   if(HFTAPS==1) begin      assign frmsync_out = gqa99c6;      assign dvalid_out  = fp16d4c;      assign dout        = kf2da9;   end else begin      assign frmsync_out = uvc3960[0];      assign dvalid_out  = of6f0e5[0];      for (cbaee3e=0;cbaee3e<fa489ed;cbaee3e=cbaee3e+1) begin :tj32e65         for (ay5313f=0;ay5313f<HFTAPS;ay5313f=ay5313f+1) begin :kd70360            assign fad5bce[cbaee3e][(ay5313f+1)*DWIDTH-1:ay5313f*DWIDTH] = kf2da9[ay5313f*fa489ed*DWIDTH + (cbaee3e+1)*DWIDTH -1 : ay5313f*fa489ed*DWIDTH + cbaee3e*DWIDTH];         end         assign dout[(cbaee3e+1)*DOUTWIDTH-1:cbaee3e*DOUTWIDTH]   = kfa1bc3[cbaee3e];      end      for(cbaee3e=0;cbaee3e<fa489ed;cbaee3e=cbaee3e+1) begin :aycbfb3         goe5538_Bicubic2D #(  .cbb147b        (DWIDTH        ),                        .qv8a3dc        (CWIDTH        ),                        .hbe3cc4        (blc864a    ),                        .wl8f72c         (HFTAPS        ),                        .fn7b965       (uiea1f0       ),                        .shdcb2e         (DTYPE         ),                        .aye5974         (CTYPE         ),                        .sj2cba0      (pf5f254    ),                        .FAMILY        (FAMILY        ))         mt392c2       (                          .clk           (clk           ),                        .rstn          (rstn          ),                        .ce            (os771f5            ),                        .sr            (lsb8fa9            ),                        .xyb8b0           (kddc0b6       ),                        .din           (fad5bce[cbaee3e]  ),                        .dvalid_in     (fp16d4c     ),                        .go5c582       (aab6a67       ),                        .ofe2c11     (bnb5338     ),                        .fp1608d    (gqa99c6    ),                        .xwcf0c0       (              ),                                                .dout          (fp19278[cbaee3e]    ),                        .cb180c5   (su78f0f[cbaee3e] ),                        .hoc062d      (                 ),                        .dvalid_out    (ay49e3c[cbaee3e]  ));
         rgfe125_Bicubic2D  #(    .DWIDTH        (blc864a    ),                        .fa58e62      (1             ),                        .psc5abc (MSB_METHOD    ),                        .xl2d5e3 (LSB_METHOD    ),                        .cz6af1f      (CTYPE         ),                        .ps578fd     (OTYPE         ),                        .cobc7eb     (DIN_POINTS    ),                        .vve3f58       (COEFF_POINTS  ),                        .gq1fac7    (DOUT_POINTS   ),                        .lqeb1cc     (uiea1f0       ),                        .DOUTWIDTH     (DOUTWIDTH     ))         pu83df1 (                            .rstn          (rstn          ),                        .clk           (clk           ),                        .ce            (os771f5            ),                        .sr            (lsb8fa9            ),                        .uk2b3c3        (ay49e3c[cbaee3e]  ),                        .yk59e18       (su78f0f[cbaee3e] ),                        .din           (fp19278[cbaee3e]    ),                        .xwcf0c0       (                 ),                                                .dvalid_out    (of6f0e5[cbaee3e]    ),                        .cb180c5   (uvc3960[cbaee3e]   ),                        .hoc062d      (                 ),                        .dout          (kfa1bc3[cbaee3e]      ));      end   end
endgenerate
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];of5e00c<={din>>1,hq208ff[2]};zx7b7ca<=hq208ff[3];ykdbe57<=hq208ff[4];rtc70ed<={jr8e757>>1,hq208ff[5]};kddc0b6<={me7756f>>1,hq208ff[6]};kf2da9<={fa79c94>>1,hq208ff[7]};fp16d4c<=hq208ff[8];aab6a67<=hq208ff[9];bnb5338<=hq208ff[10];gqa99c6<=hq208ff[11];end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=din[0];vv6411f[2044]<=dvalid_in;vv6411f[2040]<=frmsync_in;vv6411f[2032]<=jr8e757[0];vv6411f[2017]<=me7756f[0];vv6411f[1987]<=fa79c94[0];vv6411f[1927]<=uice4a3;vv6411f[1806]<=me72519;vv6411f[1565]<=uk928c9;vv6411f[1082]<=tj94649;vv6411f[1023]<=ce;end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module uidb4d7_Bicubic2D(
                  clk,
                  rstn,
                  ce, 
                  sr, 
                  din, 
                  dvalid_in, 
                  frmsync_in, 
                  jr8e757, 
                  ie989f8,
                  dout, 
                  dvalid_out, 
                  dz50ffc,
                  gq87fe6,
                  frmsync_out);
parameter   SCALER_NAME    = "SCALER";
parameter   NUM_PLANE      = 3;
parameter   qi87c88       = 1;
parameter   VINWIDTH       = 320;
parameter   VOUTWIDTH      = 320;
parameter   KERNEL         = "LANCZOS";
parameter   HFTAPS         = 4;
parameter   HFPHASES       = 256;
parameter   EDGEMODE       = "COPY";
parameter   EDGEVALUE      = 0;
parameter   DWIDTH         = 8;
parameter   CWIDTH         = 8;
parameter   PARALLEL       = "TRUE";
parameter   YCBCR422       = "TRUE";
parameter   uiea1f0        = 8;
parameter   SHARE_CMEM     = "TRUE";
parameter   aaa1b        = "EBR";
parameter   FAMILY         = "ECP2M";
localparam  wl33f1b    = (YCBCR422=="TRUE") ? (HFTAPS-4) : HFTAPS;
localparam  lsa2e12        = gd17093(VINWIDTH-1);
localparam  fc9c5e3        = gd17093(VOUTWIDTH-1);
localparam  aab6b78        = gd17093(HFPHASES-1);
localparam  ww43f2b        = DWIDTH*NUM_PLANE;
localparam  rg7cc2c     = wl33f1b*ww43f2b;
localparam  rib827d     = wl33f1b*CWIDTH;
localparam  nr7b1f0     = {SCALER_NAME,"coeffh.rom"};
localparam  ux260a8       = (HFTAPS-1)/2;
localparam  uv4440a      = HFTAPS-1-ux260a8;
localparam  blf6240        = (  ux260a8 <=1) ? 1 : gd17093(  ux260a8-1);
localparam  rt40f12        = ( uv4440a <=1) ? 1 : gd17093( uv4440a-1);
localparam  tj81531      = (qi87c88==1) ? 1 : gd17093(qi87c88-1);
localparam  uk24a4a        = qi87c88*(HFTAPS+1);
localparam  kq4941d      = aab6b78+3;
input                      clk;
input                      rstn;
input                      ce;
input                      sr;
input      [ww43f2b-1:0]   din;
input                      dvalid_in;
input                      frmsync_in;
input      [uiea1f0-1:0]   jr8e757;
output  [rib827d-1:0]   ie989f8;
output  [rg7cc2c-1:0]   dout;
output                     frmsync_out;
output                     dvalid_out;
output                     dz50ffc;
output                     gq87fe6;
reg      [tj81531-1:0]   uxa18cd;
wire                       xlc66c;
reg        [ww43f2b-1:0]   tu4df61[uk24a4a-1:0];
reg         [DWIDTH-1:0]   nrec2e9[uk24a4a-1:0];
reg         [DWIDTH-1:0]   dm5d3fa[uk24a4a-1:0];
reg         [DWIDTH-1:0]   en7f4f6[uk24a4a-1:0];
wire       [ww43f2b-1:0]   wl858e3[HFTAPS-1:0];
wire       [ww43f2b-1:0]   ksa9bf6[HFTAPS-1:0];
wire       [ww43f2b-1:0]   ls20cc2[HFTAPS-1:0];
reg        [ww43f2b-1:0]   zm83bbe[HFTAPS-1:0];
reg                [1:0]   rgeef94;
reg                        ea77ca3;
wire        [HFTAPS-1:0]   enf28c5;
wire                       hd9462c;
reg        [blf6240-1:0]   qv18b38[1:0];
wire       [blf6240-1:0]   qv2ce23;
reg        [rt40f12-1:0]   hd388e0[1:0];
wire       [rt40f12-1:0]   ep23838;
reg         [HFTAPS-1:0]   ose0e2f[1:0];
reg         [HFTAPS-1:0]   hd38bc5[1:0];
reg       [ux260a8-1:0]   pu2f17b;
reg                        kq78bda;
reg        [lsa2e12-1:0]   zm2f68b;
wire                       pf7b45a;
wire       [aab6b78-1:0]   zm966ff;
wire                       dmc524b;
wire                       an2925a;
wire                       yk492d5;
wire                       uiea863;
wire                       kqd1ff7;
wire                       mt8ffb8;
wire                       aledd00;
reg                        nefee24;
reg        [aab6b78-1:0]   jeb8915;
reg                        ayc48ab;
reg                        ec24559;
reg                        db22ac9;
reg                        sw1564f;
reg                        cbab279;
reg         [CWIDTH-1:0]   qi97a7d[1:0];
wire       [aab6b78-1:0]   zk7986f;
wire    [rib827d-1:0]   rgfe5de;
reg     [rib827d-1:0]   en6f735[1:0];
genvar cbaee3e,ay5313f,fne6b34;
reg os771f5;
reg lsb8fa9;
reg [ww43f2b - 1 : 0] of5e00c;
reg zx7b7ca;
reg ykdbe57;
reg [uiea1f0 - 1 : 0] rtc70ed;
reg [tj81531 - 1 : 0] epae813;
reg hb7409d;
reg [1 : 0] mt8fbdc;
reg ww7dee4;
reg [HFTAPS - 1 : 0] xj7b908;
reg gbdc846;
reg [blf6240 - 1 : 0] ou211a3;
reg [rt40f12 - 1 : 0] os468cd;
reg [ux260a8 - 1 : 0] ksa3340;
reg vx19a00;
reg [lsa2e12 - 1 : 0] me68036;
reg th401b1;
reg [aab6b78 - 1 : 0] wl18605;
reg ou15d50;
reg sjaea80;
reg of75405;
reg vk86ba0;
reg bn8eb7f;
reg of75bfe;
reg ks2e28c;
reg gb6ffaa;
reg [aab6b78 - 1 : 0] xwfeaac;
reg eaf5562;
reg hdaab10;
reg fn55887;
reg wyac43e;
reg su621f1;
reg [aab6b78 - 1 : 0] ou87c40;
reg [rib827d - 1 : 0] zx50ae7;
reg [2047:0] vv6411f;
wire [34:0] hq208ff;
localparam vk47fa = 35,oh23fd2 = 32'hfdffe44b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
function [31:0] gd17093;
input [31:0] value;
for (gd17093=0; value>0; gd17093=gd17093+1) value = value>>1;
endfunction
assign frmsync_out= mt8fbdc[1];
assign dvalid_out = ww7dee4;
assign dz50ffc   = ww7dee4;
assign gq87fe6 = ww7dee4;
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      pu2f17b <= {ux260a8{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         pu2f17b <= {ux260a8{1'b0}};      end else if(zx7b7ca && hb7409d) begin         pu2f17b <= ksa3340 + 1;      end   end
end
generate   if(HFTAPS==1) begin      always @(clk) begin         kq78bda <= 1'b1;      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            kq78bda <= 1'b0;         end else if(os771f5) begin            if(lsb8fa9) begin               kq78bda <= 1'b0;            end else if(zx7b7ca && (ksa3340==HFTAPS-ux260a8-2) && hb7409d) begin               kq78bda <= 1'b1;            end         end      end   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      rgeef94[0] <= 1'b0;      rgeef94[1] <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         rgeef94[0] <= 1'b0;         rgeef94[1] <= 1'b0;      end else begin         rgeef94[0] <= ykdbe57;         rgeef94[1] <= mt8fbdc[0];      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      uxa18cd <= {tj81531{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         uxa18cd <= {tj81531{1'b0}};      end else if(bn8eb7f) begin         uxa18cd <= {tj81531{1'b0}};      end else if(!vk86ba0 && zx7b7ca) begin         if(epae813==qi87c88-1) begin            uxa18cd <= {tj81531{1'b0}};         end else begin            uxa18cd <= epae813 + 1;         end      end else if(vk86ba0 && of75bfe) begin         if(epae813==qi87c88-1) begin            uxa18cd <= {tj81531{1'b0}};         end else begin            uxa18cd <= epae813 + 1;         end      end   end
end
assign xlc66c = (epae813==qi87c88-1);
assign aledd00           = rtc70ed[0];
assign mt8ffb8     = rtc70ed[1];
assign kqd1ff7   = rtc70ed[2];
assign uiea863         = rtc70ed[3];
assign yk492d5          = rtc70ed[4];
assign an2925a          = rtc70ed[5];
assign dmc524b          = rtc70ed[6];
assign ymb3b74       = rtc70ed[7];
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      nefee24    <= 1'b0;      ea77ca3 <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         nefee24    <= 1'b0;         ea77ca3 <= 1'b0;      end else begin         nefee24    <= ks2e28c;         ea77ca3 <= gb6ffaa;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ayc48ab <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         ayc48ab <= 1'b0;      end else if(PARALLEL=="TRUE") begin         ayc48ab <= 1'b0;      end else if(bn8eb7f) begin         ayc48ab <= 1'b0;      end else if(zx7b7ca) begin         ayc48ab   <= ~eaf5562;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      ec24559   <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         ec24559   <= 1'b0;      end else if(PARALLEL=="TRUE") begin         ec24559   <= 1'b0;      end else if(ykdbe57) begin         ec24559   <= 1'b0;      end else if(gb6ffaa) begin         ec24559   <= ~hdaab10;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      sw1564f <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         sw1564f <= 1'b0;      end else if(bn8eb7f) begin         sw1564f <= 1'b0;      end else if(zx7b7ca && (eaf5562==1'b0)) begin         sw1564f   <= ~wyac43e;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      cbab279   <= 1'b0;   end else if(os771f5) begin      if(lsb8fa9) begin         cbab279   <= 1'b0;      end else if(ykdbe57) begin         cbab279   <= 1'b0;      end else if(gb6ffaa && (hdaab10==1'b0)) begin         cbab279   <= ~su621f1;      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      db22ac9 <= 1'b1;   end else if(os771f5) begin      if(lsb8fa9) begin         db22ac9 <= 1'b1;      end else if(bn8eb7f) begin         db22ac9 <= 1'b1;      end else if(zx7b7ca && (wyac43e==1'b1) && (eaf5562==1'b0)) begin         db22ac9 <= 1'b0;      end   end
end
generate   if(ux260a8==0) begin        always @(posedge clk or negedge rstn) begin         if(!rstn) begin            ose0e2f[0] <= {HFTAPS{1'b0}};            ose0e2f[1] <= {HFTAPS{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               ose0e2f[0] <= {HFTAPS{1'b0}};               ose0e2f[1] <= {HFTAPS{1'b0}};            end else begin               if(bn8eb7f) begin                  ose0e2f[0] <= {HFTAPS{1'b0}};               end else if(vk86ba0 && of75bfe && ou15d50 && hb7409d) begin                  ose0e2f[0] <= ose0e2f[0]<<1;               end               ose0e2f[1] <= ose0e2f[0];            end         end      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            ose0e2f[0] <= {{ux260a8{1'b1}},{(HFTAPS-ux260a8){1'b0}}};            ose0e2f[1] <= {{ux260a8{1'b1}},{(HFTAPS-ux260a8){1'b0}}};         end else if(os771f5) begin            if(lsb8fa9) begin               ose0e2f[0] <= {{ux260a8{1'b1}},{(HFTAPS-ux260a8){1'b0}}};               ose0e2f[1] <= {{ux260a8{1'b1}},{(HFTAPS-ux260a8){1'b0}}};            end else begin               if(bn8eb7f) begin                  ose0e2f[0] <= {{ux260a8{1'b1}},{(HFTAPS-ux260a8){1'b0}}};                              end else if(vk86ba0 && of75bfe && ou15d50 && hb7409d) begin                  ose0e2f[0] <= ose0e2f[0]<<1;               end               ose0e2f[1] <= ose0e2f[0];            end         end      end   end
endgenerate
generate   if(HFTAPS==1) begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            hd38bc5[0] <= {HFTAPS{1'b0}};            hd38bc5[1] <= {HFTAPS{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               hd38bc5[0] <= {HFTAPS{1'b0}};               hd38bc5[1] <= {HFTAPS{1'b0}};            end         end      end   end else begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            hd38bc5[0] <= {HFTAPS{1'b0}};            hd38bc5[1] <= {HFTAPS{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               hd38bc5[0] <= {HFTAPS{1'b0}};               hd38bc5[1] <= {HFTAPS{1'b0}};            end else begin               if(bn8eb7f) begin                  hd38bc5[0] <= {HFTAPS{1'b0}};               end else if(vk86ba0 && of75bfe && hb7409d) begin                                    if(sjaea80) begin                     hd38bc5[0] <= {hd38bc5[0][HFTAPS-2:0],1'b1};                  end else begin                     hd38bc5[0] <= {HFTAPS{1'b0}};                  end               end               hd38bc5[1] <= hd38bc5[0];            end         end      end   end
endgenerate
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      qv18b38[0] <= {blf6240{1'b0}};      qv18b38[1] <= {blf6240{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         qv18b38[0] <= {blf6240{1'b0}};         qv18b38[1] <= {blf6240{1'b0}};      end else begin         if(bn8eb7f) begin            qv18b38[0] <= {blf6240{1'b0}};                  end else if(vk86ba0 && of75bfe && ou15d50 && hb7409d) begin            qv18b38[0] <= qv18b38[0] + 1;         end         qv18b38[1] <= qv18b38[0];      end   end
end
always @(posedge clk or negedge rstn) begin   if(!rstn) begin      hd388e0[0] <= {rt40f12{1'b0}};      hd388e0[1] <= {rt40f12{1'b0}};   end else if(os771f5) begin      if(lsb8fa9) begin         hd388e0[0] <= {rt40f12{1'b0}};         hd388e0[1] <= {rt40f12{1'b0}};      end else begin         if(vk86ba0 && of75bfe && hb7409d) begin                        if(of75405) begin               hd388e0[0] <= {rt40f12{1'b0}};            end else begin               hd388e0[0] <= hd388e0[0] + 1;            end         end         hd388e0[1] <= hd388e0[0];      end   end
end
generate   for(cbaee3e=HFTAPS-1-ux260a8;cbaee3e<HFTAPS;cbaee3e=cbaee3e+1) begin : rv9428d      assign enf28c5[cbaee3e] = ose0e2f[1][cbaee3e];   end   for(cbaee3e=0;cbaee3e<uv4440a;cbaee3e=cbaee3e+1) begin : cbd186      assign enf28c5[cbaee3e] = hd38bc5[1][cbaee3e];   end   assign qv2ce23   = qv18b38[1];   assign ep23838   = hd388e0[1];   assign hd9462c = gb6ffaa;
endgenerate
generate   if(YCBCR422=="TRUE") begin :zm3a791      for(cbaee3e=0;cbaee3e<HFTAPS+1;cbaee3e=cbaee3e+1) begin :xw5dd7e         always @(posedge clk or negedge rstn) begin            if(!rstn) begin               nrec2e9[cbaee3e] <= {DWIDTH{1'b0}};            end else if(os771f5 == 1'b1) begin               if(lsb8fa9 == 1'b1) begin                  nrec2e9[cbaee3e] <= {DWIDTH{1'b0}};               end else if(PARALLEL=="TRUE") begin                  if(zx7b7ca) begin                     if(cbaee3e==0) begin                        nrec2e9[0] <= of5e00c>>DWIDTH;                     end else begin                        nrec2e9[cbaee3e] <= nrec2e9[cbaee3e-1];                     end                  end               end else if(PARALLEL=="FALSE") begin                  if(zx7b7ca && eaf5562) begin                     if(cbaee3e==0) begin                        nrec2e9[0] <= of5e00c[DWIDTH-1:0];                     end else begin                        nrec2e9[cbaee3e] <= nrec2e9[cbaee3e-1];                     end                  end               end            end         end         always @(posedge clk or negedge rstn) begin            if(!rstn) begin               dm5d3fa[cbaee3e] <= {DWIDTH{1'b0}};            end else if(os771f5 == 1'b1) begin               if(lsb8fa9 == 1'b1) begin                  dm5d3fa[cbaee3e] <= {DWIDTH{1'b0}};               end else if(zx7b7ca && (eaf5562==1'b0)) begin                  if(cbaee3e==0) begin                     if(wyac43e==1'b0 && ymb3b74==1'b0) begin                        dm5d3fa[0] <= of5e00c[DWIDTH-1:0];                     end                  end else if(cbaee3e==1) begin                     if((wyac43e==1'b0) && fn55887 && ymb3b74==1'b0) begin                        dm5d3fa[1] <= of5e00c[DWIDTH-1:0];                     end else if(wyac43e==1'b0 && ymb3b74==1'b0) begin                        if(KERNEL=="NEAREST" || KERNEL=="BILINEAR") begin                            dm5d3fa[1] <= ({1'b0,of5e00c[DWIDTH-1:0]} + {1'b0,dm5d3fa[0]} + 1)>>1;                        end else begin                                                               dm5d3fa[1] <= ({of5e00c[DWIDTH-1],of5e00c[DWIDTH-1:0]} + {dm5d3fa[0][DWIDTH-1],dm5d3fa[0]} + 1)>>1;                        end                     end else begin                        dm5d3fa[1] <= dm5d3fa[0];                     end                  end else begin                     dm5d3fa[cbaee3e] <= dm5d3fa[cbaee3e-1];                  end               end            end         end         always @(posedge clk or negedge rstn) begin            if(!rstn) begin               en7f4f6[cbaee3e] <= {DWIDTH{1'b0}};            end else if(os771f5 == 1'b1) begin               if(lsb8fa9 == 1'b1) begin                  en7f4f6[cbaee3e] <= {DWIDTH{1'b0}};               end else if(zx7b7ca && (eaf5562==1'b0)) begin                  if(cbaee3e==0) begin                     if(wyac43e==1'b1 && ymb3b74==1'b0) begin                        en7f4f6[0] <= of5e00c[DWIDTH-1:0];                     end                  end else if(cbaee3e==1) begin                     if((wyac43e==1'b1) && fn55887 && ymb3b74==1'b0) begin                        en7f4f6[1] <= of5e00c[DWIDTH-1:0];                     end else if(wyac43e==1'b1 && ymb3b74==1'b0) begin                        if(KERNEL=="NEAREST" || KERNEL=="BILINEAR") begin                            en7f4f6[1] <= ({1'b0,of5e00c[DWIDTH-1:0]} + {1'b0,en7f4f6[0][DWIDTH-1:0]} + 1)>>1;                        end else begin                                                               en7f4f6[1] <= ({of5e00c[DWIDTH-1],of5e00c[DWIDTH-1:0]} + {en7f4f6[0][DWIDTH-1],en7f4f6[0][DWIDTH-1:0]} + 1)>>1;                        end                     end else begin                        en7f4f6[1] <= en7f4f6[0];                     end                  end else begin                     en7f4f6[cbaee3e] <= en7f4f6[cbaee3e-1];                  end               end            end         end      end      for(cbaee3e=0;cbaee3e<wl33f1b;cbaee3e=cbaee3e+1) begin :bn3869c         assign dout[(cbaee3e+1)*ww43f2b-1:cbaee3e*ww43f2b] = zm83bbe[cbaee3e+2];      end      for(cbaee3e=1;cbaee3e<HFTAPS;cbaee3e=cbaee3e+1) begin :do966bf         if(PARALLEL=="TRUE") begin            assign wl858e3[cbaee3e][2*DWIDTH-1:DWIDTH] = nrec2e9[cbaee3e];            assign wl858e3[cbaee3e][  DWIDTH-1:     0] = (su621f1) ? en7f4f6[cbaee3e-1] : dm5d3fa[cbaee3e];         end else begin            assign wl858e3[cbaee3e] = (hdaab10) ? nrec2e9[cbaee3e] : ((su621f1) ? en7f4f6[cbaee3e-1] : dm5d3fa[cbaee3e]);         end      end   end else begin :gq1ad7d       for(cbaee3e=0;cbaee3e<HFTAPS+1;cbaee3e=cbaee3e+1) begin :ho4dfc6         for(ay5313f=0;ay5313f<qi87c88;ay5313f=ay5313f+1) begin : ie9db6c            always @(posedge clk or negedge rstn) begin               if(!rstn) begin                  tu4df61[cbaee3e*qi87c88+ay5313f] <= {ww43f2b{1'b0}};               end else if(os771f5 == 1'b1) begin                  if(lsb8fa9 == 1'b1) begin                     tu4df61[cbaee3e*qi87c88+ay5313f] <= {ww43f2b{1'b0}};                  end else if(zx7b7ca == 1'b1) begin                     if(cbaee3e==0 && ay5313f==0) begin                        tu4df61[0] <= of5e00c;                     end else begin                        tu4df61[cbaee3e*qi87c88+ay5313f] <= tu4df61[cbaee3e*qi87c88+ay5313f-1];                     end                  end else if(ks2e28c && (qi87c88>1)) begin                     if(ay5313f==0) begin                        tu4df61[cbaee3e*qi87c88+ay5313f] <= tu4df61[cbaee3e*qi87c88+qi87c88-1];                     end else begin                        tu4df61[cbaee3e*qi87c88+ay5313f] <= tu4df61[cbaee3e*qi87c88+ay5313f-1];                     end                  end               end            end          end      end      for(cbaee3e=0;cbaee3e<HFTAPS;cbaee3e=cbaee3e+1) begin :ldf3420         assign wl858e3[cbaee3e] = tu4df61[cbaee3e*qi87c88];         assign dout[(cbaee3e+1)*ww43f2b-1:cbaee3e*ww43f2b] = zm83bbe[cbaee3e];      end   end    for(cbaee3e=0;cbaee3e<HFTAPS;cbaee3e=cbaee3e+1) begin :gq100e2      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            zm83bbe[cbaee3e] <= {ww43f2b{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               zm83bbe[cbaee3e] <= {ww43f2b{1'b0}};            end else if(gbdc846) begin               zm83bbe[cbaee3e] <= (xj7b908[cbaee3e]==1'b1) ? ksa9bf6[cbaee3e] : wl858e3[cbaee3e];            end         end      end      assign ls20cc2[cbaee3e] = zm83bbe[cbaee3e];   end   if(EDGEMODE=="VALUE") begin      for(cbaee3e=0;cbaee3e<HFTAPS;cbaee3e=cbaee3e+1) begin : gb44bab         assign ksa9bf6[cbaee3e] = EDGEVALUE;      end   end else if(EDGEMODE=="COPY") begin      for(cbaee3e=0;cbaee3e<HFTAPS;cbaee3e=cbaee3e+1) begin : mg2b11d         assign ksa9bf6[cbaee3e] = (cbaee3e<uv4440a) ? wl858e3[os468cd+1] : wl858e3[HFTAPS-1-ux260a8+ou211a3];      end   end else if(EDGEMODE=="MIRROR") begin      for(cbaee3e=0;cbaee3e<HFTAPS;cbaee3e=cbaee3e+1) begin : su7263f         assign ksa9bf6[cbaee3e] = (cbaee3e<uv4440a) ? wl858e3[(os468cd<<1)+1-cbaee3e] : wl858e3[(uv4440a<<1)+1-cbaee3e+(ou211a3<<1)];      end   end
endgenerate
generate   if(SHARE_CMEM=="TRUE") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            en6f735[0] <= {rib827d{1'b0}};            en6f735[1] <= {rib827d{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               en6f735[0] <= {rib827d{1'b0}};               en6f735[1] <= {rib827d{1'b0}};            end else begin               en6f735[0] <= rtc70ed[uiea1f0-1:uiea1f0-rib827d];               en6f735[1] <= en6f735[0];            end         end      end      assign ie989f8       = en6f735[1];   end else begin      assign ie989f8       = zx50ae7;      assign zm966ff   = rtc70ed[uiea1f0-1:uiea1f0-aab6b78];   end   always @(posedge clk or negedge rstn) begin      if(!rstn) begin         jeb8915 <= {aab6b78{1'b0}};      end else if(os771f5) begin         if(lsb8fa9) begin            jeb8915 <= {aab6b78{1'b0}};         end else begin            jeb8915 <= wl18605;         end      end   end   if(KERNEL=="NEAREST" || KERNEL=="BILINEAR") begin      always @(posedge clk or negedge rstn) begin         if(!rstn) begin            qi97a7d[0] <= {CWIDTH{1'b0}};            qi97a7d[1] <= {CWIDTH{1'b0}};         end else if(os771f5) begin            if(lsb8fa9) begin               qi97a7d[0] <= {CWIDTH{1'b0}};               qi97a7d[1] <= {CWIDTH{1'b0}};            end else begin               qi97a7d[0] <= xwfeaac;               if(xwfeaac==0) begin                  qi97a7d[1] <= (1<<CWIDTH) - 1;               end else begin                  qi97a7d[1] <= (1<<CWIDTH) - {1'b0,xwfeaac};               end            end         end      end      assign rgfe5de = {qi97a7d[1],qi97a7d[0]};   end else if(SHARE_CMEM=="FALSE") begin      assign zk7986f  = (aaa1b=="EBR") ? wl18605 : xwfeaac;      if(aaa1b=="EBR") begin : uicee22         pmi_rom #(                   .pmi_addr_depth        (1<<aab6b78    ),                   .pmi_addr_width        (aab6b78       ),                   .pmi_data_width        (rib827d    ),                   .pmi_regmode           ("reg"         ),                   .pmi_gsr               ("disable"     ),                   .pmi_resetmode         ("sync"        ),                   .pmi_init_file         (nr7b1f0    ),                   .pmi_init_file_format  ("binary"      ),                   .pmi_family            (FAMILY        ),                   .module_type          ("pmi_rom"     ))         db81631 (.Address      (zk7986f  ),                .OutClock     (clk        ),                .OutClockEn   (ce         ),                .Reset        (~rstn      ),                .Q            (rgfe5de   ));      end else begin : zk7354f         pmi_distributed_rom #(                   .pmi_addr_depth       (1<<aab6b78    ),                   .pmi_addr_width       (aab6b78       ),                   .pmi_data_width       (rib827d    ),                   .pmi_regmode          ("reg"         ),                   .pmi_init_file        (nr7b1f0    ),                   .pmi_init_file_format ("binary"      ),                   .pmi_family           (FAMILY        ),                   .module_type          ("pmi_distributed_rom"))         db81631 (.Address      (zk7986f  ),                .OutClock     (clk        ),                .OutClockEn   (ce         ),                .Reset        (~rstn      ),                .Q            (rgfe5de   ));      end   end
endgenerate
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];of5e00c<={din>>1,hq208ff[2]};zx7b7ca<=hq208ff[3];ykdbe57<=hq208ff[4];rtc70ed<={jr8e757>>1,hq208ff[5]};epae813<={uxa18cd>>1,hq208ff[6]};hb7409d<=hq208ff[7];mt8fbdc<={rgeef94>>1,hq208ff[8]};ww7dee4<=hq208ff[9];xj7b908<={enf28c5>>1,hq208ff[10]};gbdc846<=hq208ff[11];ou211a3<={qv2ce23>>1,hq208ff[12]};os468cd<={ep23838>>1,hq208ff[13]};ksa3340<={pu2f17b>>1,hq208ff[14]};vx19a00<=hq208ff[15];me68036<={zm2f68b>>1,hq208ff[16]};th401b1<=hq208ff[17];wl18605<={zm966ff>>1,hq208ff[18]};ou15d50<=hq208ff[19];sjaea80<=hq208ff[20];of75405<=hq208ff[21];vk86ba0<=hq208ff[22];bn8eb7f<=hq208ff[23];of75bfe<=hq208ff[24];ks2e28c<=hq208ff[25];gb6ffaa<=hq208ff[26];xwfeaac<={jeb8915>>1,hq208ff[27]};eaf5562<=hq208ff[28];hdaab10<=hq208ff[29];fn55887<=hq208ff[30];wyac43e<=hq208ff[31];su621f1<=hq208ff[32];ou87c40<={zk7986f>>1,hq208ff[33]};zx50ae7<={rgfe5de>>1,hq208ff[34]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=din[0];vv6411f[2044]<=dvalid_in;vv6411f[2040]<=frmsync_in;vv6411f[2033]<=jr8e757[0];vv6411f[2019]<=uxa18cd[0];vv6411f[1991]<=xlc66c;vv6411f[1934]<=rgeef94[0];vv6411f[1898]<=kq78bda;vv6411f[1821]<=ea77ca3;vv6411f[1749]<=zm2f68b[0];vv6411f[1707]<=dmc524b;vv6411f[1666]<=ayc48ab;vv6411f[1595]<=enf28c5[0];vv6411f[1450]<=pf7b45a;vv6411f[1440]<=nefee24;vv6411f[1384]<=mt8ffb8;vv6411f[1370]<=uiea863;vv6411f[1366]<=an2925a;vv6411f[1284]<=ec24559;vv6411f[1142]<=hd9462c;vv6411f[1041]<=sw1564f;vv6411f[1023]<=ce;vv6411f[949]<=pu2f17b[0];vv6411f[853]<=zm966ff[0];vv6411f[833]<=jeb8915[0];vv6411f[720]<=aledd00;vv6411f[692]<=kqd1ff7;vv6411f[685]<=yk492d5;vv6411f[520]<=db22ac9;vv6411f[474]<=ep23838[0];vv6411f[237]<=qv2ce23[0];vv6411f[140]<=rgfe5de[0];vv6411f[70]<=zk7986f[0];vv6411f[35]<=cbab279;end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
module scaler_core_Bicubic2D(
                  clk,
                  rstn,
                  ce, 
                  sr, 
                  frmsync_in, 
                  dvalid_in, 
                  din, 
                  ready,
                  pclk,
                  pwrite,
                  paddr,
                  pwdat,
                  prdat,
                  dout_enable,
                  fwidth_out,
                  fheight_out,
                  frmsync_out,
                  dvalid_out, 
                  dout)
`ifdef DEVICE_ECP2
`else
  `ifdef DEVICE_ECP3
  
  `else
    `ifdef DEVICE_ECP2M
    
    `else
      `ifdef DEVICE_XP2
      
      `else
      
      `endif
    `endif
  `endif
`endif
;
parameter   SCALER_NAME    = "SCALER";
parameter   NUM_PLANE      = 3;
parameter   VINWIDTH       = 720;
parameter   VINHEIGHT      = 576;
parameter   VOUTWIDTH      = 1280;
parameter   VOUTHEIGHT     = 720;
parameter   KERNEL         = "LANCZOS";
parameter   VFTAPS         = 6;
parameter   HFTAPS         = 6;
parameter   VFPHASES       = 256;
parameter   HFPHASES       = 256;
parameter   EDGEMODE       = "COPY";
parameter   EDGEVALUE      = 0;
parameter   VSFACTOR       = 768;
parameter   HSFACTOR       = 720;
parameter   VFCWIDTH       = 20;
parameter   VFCBPWIDTH     = 10;
parameter   HFCWIDTH       = 20;
parameter   HFCBPWIDTH     = 10;
parameter   PARALLEL       = "TRUE";
parameter   YCBCR422       = "TRUE";
parameter   DYNAMIC        = "TRUE";
parameter   SEPPCLK        = "FALSE";
parameter   DWIDTH         = 8;
parameter   CWIDTH         = 9;
parameter   MOUTWIDTH      = 9;
parameter   DOUTWIDTH      = 8;
parameter   DTYPE          = "UNSIGNED";
parameter   CTYPE          = "SIGNED";
parameter   OTYPE          = "UNSIGNED";
parameter   DIN_POINTS     = 0;
parameter   COEFF_POINTS   = 8;
parameter   DOUT_POINTS    = 0;
parameter   MSB_METHOD     = "SATURATION";
parameter   LSB_METHOD     = "TRUNCATION";
parameter   LBUFFER        = "EBR";
parameter   VCBUFFER       = "EBR";
parameter   HCBUFFER       = "EBR";
parameter   SHARE_CMEM     = "FALSE";
parameter   PADDRWIDTH     = 4;
parameter   PBUSWIDTH      = 32;
parameter   FAMILY         = "ECP2";
localparam  pf5f254     = 1;
localparam  ux36947     = (YCBCR422=="TRUE") ? (HFTAPS+4) : HFTAPS;
localparam  lsa2e12        = gd17093(VINWIDTH-1);
localparam  thc24e2        = gd17093(VINHEIGHT-1);
localparam  fc9c5e3        = gd17093(VOUTWIDTH-1);
localparam  aabc6ed        = gd17093(VOUTHEIGHT-1);
localparam  fa489ed     = (PARALLEL=="FALSE") ? 1 : ((YCBCR422=="TRUE") ? 2 : NUM_PLANE);
localparam  gbed77f     = (PARALLEL== "TRUE") ? 1 : ((YCBCR422=="TRUE") ? 2 : NUM_PLANE);
localparam  ww43f2b        = fa489ed*DWIDTH;
localparam  gq2e7ac        = fa489ed*MOUTWIDTH;
localparam  en7fbd1        = fa489ed*DOUTWIDTH;
localparam  xjd829e     = VFTAPS*ww43f2b;
localparam  qg53dc1     = VFTAPS*CWIDTH;
localparam  aab6b78        = gd17093(HFPHASES-1);
localparam  uiea1f0        = (SHARE_CMEM=="TRUE") ? (qg53dc1+8) : (aab6b78+8);
input                      clk;
input                      rstn;
input                      ce;
input                      sr;
input                      frmsync_in;
input                      dvalid_in;
input      [ww43f2b-1:0]   din;
output                     ready;
input                      pclk;
input                      pwrite;
input   [PADDRWIDTH-1:0]   paddr;
input    [PBUSWIDTH-1:0]   pwdat;
output   [PBUSWIDTH-1:0]   prdat;
input                      dout_enable;
output     [fc9c5e3-1:0]   fwidth_out;
output     [aabc6ed-1:0]   fheight_out;
output                     frmsync_out;
output                     dvalid_out;
output     [en7fbd1-1:0]   dout;
wire       [lsa2e12-1:0]   ic49797;
wire       [thc24e2-1:0]   sh4bcb8;
wire       [fc9c5e3-1:0]   uv5e5c4;
wire       [aabc6ed-1:0]   shf2e24;
wire       [VFCWIDTH-1:0]  mg97124;
wire       [HFCWIDTH-1:0]  bab8920;
wire       [lsa2e12-1:0]   oscb373;
wire       [thc24e2-1:0]   nrcdcc8;
wire       [fc9c5e3-1:0]   fa7323e;
wire       [aabc6ed-1:0]   zxc8f9b;
wire       [VFCWIDTH-1:0]  ie3e6fa;
wire       [HFCWIDTH-1:0]  rv9be8f;
wire                       xwdf47f;
wire                       os53b57;
wire       [fc9c5e3-1:0]   fwidth_out;
wire       [aabc6ed-1:0]   fheight_out;
wire    [qg53dc1-1:0]   ym88949;
wire    [xjd829e-1:0]   je2524d;
wire                       qv2926b;
wire                       ww4935d;
wire                       yk49ae8;
wire                       tu4d741;
wire       [uiea1f0-1:0]   xw5d057;
wire                       uve82bb;
wire                       en415dd;
wire       [gq2e7ac-1:0]   by57760;
wire       [uiea1f0-1:0]   thdd814;
wire                       ldec0a6;
wire                       kd60537;
wire       [en7fbd1-1:0]   ls14dec;
reg os771f5;
reg lsb8fa9;
reg ykdbe57;
reg zx7b7ca;
reg [ww43f2b - 1 : 0] of5e00c;
reg vx8e7c2;
reg gqb6360;
reg [PADDRWIDTH - 1 : 0] co8d80d;
reg [PBUSWIDTH - 1 : 0] sh6034b;
reg ep18a4b;
reg [lsa2e12 - 1 : 0] ana4d30;
reg [thc24e2 - 1 : 0] ie34c25;
reg [fc9c5e3 - 1 : 0] zm30948;
reg [aabc6ed - 1 : 0] hq2521f;
reg [VFCWIDTH - 1 : 0] zk487dd;
reg [HFCWIDTH - 1 : 0] uk1f750;
reg [lsa2e12 - 1 : 0] lddd402;
reg [thc24e2 - 1 : 0] xj500b8;
reg [fc9c5e3 - 1 : 0] an2e3c;
reg [aabc6ed - 1 : 0] zmb8f24;
reg [VFCWIDTH - 1 : 0] kf3c91e;
reg [HFCWIDTH - 1 : 0] ks247aa;
reg yz23d51;
reg bydf2b9;
reg [qg53dc1 - 1 : 0] hdaa358;
reg [xjd829e - 1 : 0] ie8d634;
reg th6b1a0;
reg rg58d06;
reg uvc6832;
reg ec34194;
reg [uiea1f0 - 1 : 0] xl6506;
reg jr32837;
reg vx941be;
reg [gq2e7ac - 1 : 0] bn6fbe;
reg [uiea1f0 - 1 : 0] kfbefb6;
reg gbf7db4;
reg wlbeda4;
reg [en7fbd1 - 1 : 0] qib6926;
reg [2047:0] vv6411f;
wire [37:0] hq208ff;
localparam vk47fa = 38,oh23fd2 = 32'hfdffd14b;
localparam [31:0] co1fe95 = oh23fd2;
localparam cmfa549 = oh23fd2 & 4'hf;
localparam [11:0] gd9524f = 'h7ff;
wire [(1 << cmfa549) -1:0] kq493e9;
reg [vk47fa-1:0] hb4fa41;
reg [cmfa549-1:0] rte9070 [0:1];
reg [cmfa549-1:0] uv41c3a;
reg jee1d5;
integer en70eab;
integer ie8755d;
function [31:0] gd17093;
input [31:0] value;
for (gd17093=0; value>0; gd17093=gd17093+1) value = value>>1;
endfunction
generate   assign os53b57 = yz23d51;   if(DYNAMIC=="TRUE") begin      assign oscb373   = ana4d30;      assign nrcdcc8  = ie34c25;      assign fa7323e   = zm30948;      assign zxc8f9b  = hq2521f;      assign ie3e6fa   = zk487dd;      assign rv9be8f   = uk1f750;   end else begin      assign oscb373   = VINWIDTH-1;      assign nrcdcc8  = VINHEIGHT-1;      assign fa7323e   = VOUTWIDTH-1;      assign zxc8f9b  = VOUTHEIGHT-1;      assign ie3e6fa   = VSFACTOR;      assign rv9be8f   = HSFACTOR;   end
endgenerate
uk3e529_Bicubic2D #(               .VFCWIDTH      (VFCWIDTH      ),               .HFCWIDTH      (HFCWIDTH      ),               .VINWIDTH      (VINWIDTH      ),               .VINHEIGHT     (VINHEIGHT     ),               .VOUTWIDTH     (VOUTWIDTH     ),               .VOUTHEIGHT    (VOUTHEIGHT    ),               .VSFACTOR      (VSFACTOR      ),               .HSFACTOR      (HSFACTOR      ),               .PADDRWIDTH    (PADDRWIDTH    ),               .PBUSWIDTH     (PBUSWIDTH     ),               .SEPPCLK       (SEPPCLK       ),               .FAMILY        (FAMILY        ))
pu2ac92 (                              .pclk          (vx8e7c2          ),               .rstn          (rstn          ),               .ce            (os771f5            ),               .sr            (lsb8fa9            ),               .yk499bd         (ykdbe57    ),               .su4cde9          (clk           ),               .pwrite        (gqb6360        ),               .paddr         (co8d80d         ),               .pwdat         (sh6034b         ),                              .prdat         (prdat         ),               .ic49797    (ic49797    ),               .sh4bcb8   (sh4bcb8   ),               .uv5e5c4    (uv5e5c4    ),               .shf2e24   (shf2e24   ),               .mg97124    (mg97124    ),               .bab8920    (bab8920    ),               .osc4903        (xwdf47f    ));
ie1a88a_Bicubic2D #(               .SCALER_NAME   (SCALER_NAME   ),               .qi87c88      (gbed77f    ),               .VINWIDTH      (VINWIDTH      ),               .VINHEIGHT     (VINHEIGHT     ),               .VOUTWIDTH     (VOUTWIDTH     ),               .VOUTHEIGHT    (VOUTHEIGHT    ),               .KERNEL        (KERNEL        ),               .VFTAPS        (VFTAPS        ),               .HFTAPS        (ux36947    ),               .VFPHASES      (VFPHASES      ),               .HFPHASES      (HFPHASES      ),               .EDGEMODE      (EDGEMODE      ),               .EDGEVALUE     (EDGEVALUE     ),               .VSFACTOR      (VSFACTOR      ),               .HSFACTOR      (HSFACTOR      ),               .VFCWIDTH      (VFCWIDTH      ),               .VFCBPWIDTH    (VFCBPWIDTH    ),               .HFCWIDTH      (HFCWIDTH      ),               .HFCBPWIDTH    (HFCBPWIDTH    ),               .DYNAMIC       (DYNAMIC       ),               .SHARE_CMEM    (SHARE_CMEM    ),               .DWIDTH        (ww43f2b       ),               .CWIDTH        (CWIDTH        ),               .LBUFFER       (LBUFFER       ),               .aaa1b       (VCBUFFER      ),               .FAMILY        (FAMILY        ))
kd75382 (                              .clk           (clk           ),               .rstn          (rstn          ),               .ce            (os771f5            ),               .sr            (lsb8fa9            ),               .frmsync_in    (ykdbe57    ),               .dvalid_in     (zx7b7ca     ),               .din           (of5e00c           ),               .os53b57    (bydf2b9    ),               .uxbe486      (lddd402   ),               .mrf2435     (xj500b8  ),               .uk921ad      (an2e3c   ),               .oh90d68     (zmb8f24  ),               .ri86b44      (kf3c91e   ),               .hq35a22      (ks247aa   ),               .dout_enable   (ep18a4b   ),                              .ie989f8          (ym88949      ),               .dout          (je2524d      ),               .frmsync_out   (qv2926b   ),               .dvalid_out    (ww4935d    ),               .dz50ffc      (yk49ae8      ),               .gq87fe6    (tu4d741    ),               .ldfcc10    (xw5d057    ),               .fwidth_out    (fwidth_out    ),               .fheight_out   (fheight_out   ),               .ready         (ready         ));
the9161_Bicubic2D #(               .NUM_PLANE     (NUM_PLANE     ),               .DWIDTH        (DWIDTH        ),               .CWIDTH        (CWIDTH        ),               .VFTAPS        (VFTAPS        ),               .KERNEL        (KERNEL        ),               .pf5f254    (pf5f254    ),               .DOUTWIDTH     (MOUTWIDTH     ),               .PARALLEL      (PARALLEL      ),               .YCBCR422      (YCBCR422      ),               .DTYPE         (DTYPE         ),               .CTYPE         (CTYPE         ),               .OTYPE         (CTYPE         ),               .DIN_POINTS    (DIN_POINTS    ),               .COEFF_POINTS  (COEFF_POINTS  ),               .DOUT_POINTS   (0             ),                .MSB_METHOD    (MSB_METHOD    ),               .LSB_METHOD    (LSB_METHOD    ),               .uiea1f0       (uiea1f0       ),               .FAMILY        (FAMILY        ))
ykc4113 (                              .clk           (clk           ),               .rstn          (rstn          ),               .ce            (os771f5            ),               .sr            (lsb8fa9            ),               .xyb8b0           (hdaa358      ),               .din           (ie8d634      ),               .frmsync_in    (th6b1a0   ),               .dvalid_in     (rg58d06    ),               .go5c582       (uvc6832      ),               .ofe2c11     (ec34194    ),               .jr8e757     (xl6506    ),                              .dout          (by57760       ),               .dvalid_out    (uve82bb     ),               .ldfcc10    (thdd814     ),               .frmsync_out   (en415dd    ));
doa2c8a_Bicubic2D #(               .SCALER_NAME   (SCALER_NAME   ),               .NUM_PLANE     (NUM_PLANE     ),               .VINWIDTH      (VINWIDTH      ),               .VOUTWIDTH     (VOUTWIDTH     ),               .KERNEL        (KERNEL        ),               .HFTAPS        (HFTAPS        ),               .HFPHASES      (HFPHASES      ),               .EDGEMODE      (EDGEMODE      ),               .EDGEVALUE     (EDGEVALUE     ),               .pf5f254    (pf5f254    ),               .DOUTWIDTH     (DOUTWIDTH     ),               .DWIDTH        (MOUTWIDTH     ),               .CWIDTH        (CWIDTH        ),               .PARALLEL      (PARALLEL      ),               .YCBCR422      (YCBCR422      ),               .DTYPE         (CTYPE         ),               .CTYPE         (CTYPE         ),               .OTYPE         (OTYPE         ),               .DIN_POINTS    (DIN_POINTS    ),               .COEFF_POINTS  (COEFF_POINTS  ),               .DOUT_POINTS   (DOUT_POINTS   ),               .MSB_METHOD    (MSB_METHOD    ),               .LSB_METHOD    (LSB_METHOD    ),               .uiea1f0       (uiea1f0       ),               .SHARE_CMEM    (SHARE_CMEM    ),               .aaa1b       (HCBUFFER      ),               .FAMILY        (FAMILY        ))
cbab2c7 (                              .clk           (clk           ),               .rstn          (rstn          ),               .ce            (os771f5            ),               .sr            (lsb8fa9            ),               .din           (bn6fbe       ),               .frmsync_in    (vx941be    ),               .dvalid_in     (jr32837     ),               .jr8e757     (kfbefb6     ),                              .dout          (ls14dec       ),               .dvalid_out    (ldec0a6     ),               .frmsync_out   (kd60537    ));
assign dout        = qib6926;
assign dvalid_out  = gbf7db4;
assign frmsync_out = wlbeda4;
always@* begin os771f5<=hq208ff[0];lsb8fa9<=hq208ff[1];ykdbe57<=hq208ff[2];zx7b7ca<=hq208ff[3];of5e00c<={din>>1,hq208ff[4]};vx8e7c2<=hq208ff[5];gqb6360<=hq208ff[6];co8d80d<={paddr>>1,hq208ff[7]};sh6034b<={pwdat>>1,hq208ff[8]};ep18a4b<=hq208ff[9];ana4d30<={ic49797>>1,hq208ff[10]};ie34c25<={sh4bcb8>>1,hq208ff[11]};zm30948<={uv5e5c4>>1,hq208ff[12]};hq2521f<={shf2e24>>1,hq208ff[13]};zk487dd<={mg97124>>1,hq208ff[14]};uk1f750<={bab8920>>1,hq208ff[15]};lddd402<={oscb373>>1,hq208ff[16]};xj500b8<={nrcdcc8>>1,hq208ff[17]};an2e3c<={fa7323e>>1,hq208ff[18]};zmb8f24<={zxc8f9b>>1,hq208ff[19]};kf3c91e<={ie3e6fa>>1,hq208ff[20]};ks247aa<={rv9be8f>>1,hq208ff[21]};yz23d51<=hq208ff[22];bydf2b9<=hq208ff[23];hdaa358<={ym88949>>1,hq208ff[24]};ie8d634<={je2524d>>1,hq208ff[25]};th6b1a0<=hq208ff[26];rg58d06<=hq208ff[27];uvc6832<=hq208ff[28];ec34194<=hq208ff[29];xl6506<={xw5d057>>1,hq208ff[30]};jr32837<=hq208ff[31];vx941be<=hq208ff[32];bn6fbe<={by57760>>1,hq208ff[33]};kfbefb6<={thdd814>>1,hq208ff[34]};gbf7db4<=hq208ff[35];wlbeda4<=hq208ff[36];qib6926<={ls14dec>>1,hq208ff[37]};end
always@* begin vv6411f[2047]<=sr;vv6411f[2046]<=frmsync_in;vv6411f[2044]<=dvalid_in;vv6411f[2040]<=din[0];vv6411f[2033]<=pclk;vv6411f[2019]<=pwrite;vv6411f[1990]<=paddr[0];vv6411f[1981]<=ww4935d;vv6411f[1965]<=en415dd;vv6411f[1939]<=fa7323e[0];vv6411f[1933]<=pwdat[0];vv6411f[1914]<=yk49ae8;vv6411f[1883]<=by57760[0];vv6411f[1831]<=zxc8f9b[0];vv6411f[1819]<=dout_enable;vv6411f[1781]<=tu4d741;vv6411f[1778]<=bab8920[0];vv6411f[1719]<=thdd814[0];vv6411f[1615]<=ie3e6fa[0];vv6411f[1591]<=ic49797[0];vv6411f[1515]<=xw5d057[0];vv6411f[1508]<=oscb373[0];vv6411f[1470]<=ls14dec[0];vv6411f[1391]<=ldec0a6;vv6411f[1271]<=ym88949[0];vv6411f[1182]<=rv9be8f[0];vv6411f[1135]<=sh4bcb8[0];vv6411f[1023]<=ce;vv6411f[990]<=qv2926b;vv6411f[982]<=uve82bb;vv6411f[969]<=nrcdcc8[0];vv6411f[889]<=mg97124[0];vv6411f[735]<=kd60537;vv6411f[635]<=os53b57;vv6411f[495]<=je2524d[0];vv6411f[444]<=shf2e24[0];vv6411f[317]<=xwdf47f;vv6411f[222]<=uv5e5c4[0];end         assign kq493e9 = vv6411f,hq208ff = hb4fa41; initial begin en70eab = $fopen(".fred"); $fdisplay( en70eab, "%3h\n%3h", (co1fe95 >> 4) & gd9524f, (co1fe95 >> (cmfa549+4)) & gd9524f ); $fclose(en70eab); $readmemh(".fred", rte9070); end always @ (kq493e9) begin uv41c3a = rte9070[1]; for (ie8755d=0; ie8755d<vk47fa; ie8755d=ie8755d+1) begin hb4fa41[ie8755d] = kq493e9[uv41c3a]; jee1d5 = ^(uv41c3a & rte9070[0]); uv41c3a = {uv41c3a, jee1d5}; end end 
endmodule
